+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.harmony.xnet.provider.jsse;
import java.security.MessageDigest;
@Override
protected byte[] engineDigest() {
byte[] result = new byte[NativeCrypto.EVP_MD_CTX_size(ctx)];
- int copy = 0;
- try {
- copy = NativeCrypto.EVP_MD_CTX_copy(ctx);
- NativeCrypto.EVP_DigestFinal(copy, result, 0);
- return result;
- } finally {
- if (copy != 0) {
- NativeCrypto.EVP_MD_CTX_destroy(copy);
- }
- }
+ NativeCrypto.EVP_DigestFinal(ctx, result, 0);
+ NativeCrypto.EVP_DigestInit(ctx, openssl);
+ return result;
}
@Override
*/
static void NativeCrypto_EVP_DigestUpdate(JNIEnv* env, jclass, EVP_MD_CTX* ctx,
jbyteArray buffer, jint offset, jint length) {
- JNI_TRACE("NativeCrypto_EVP_DigestUpdate(%p, %p, %d, %d", ctx, buffer, offset, length);
+ JNI_TRACE("NativeCrypto_EVP_DigestUpdate(%p, %p, %d, %d)", ctx, buffer, offset, length);
if (offset < 0 || length < 0) {
jniThrowException(env, "java/lang/IndexOutOfBoundsException", NULL);