/** * Creates a new OpenSSLMessageDigest instance for the given algorithm name. */ private OpenSSLMessageDigestJDK(long evp_md, int size) throws NoSuchAlgorithmException { this.evp_md = evp_md; this.size = size; NativeRef.EVP_MD_CTX ctxLocal = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); this.ctx = ctxLocal; }
private void resetContext() throws InvalidAlgorithmParameterException { NativeRef.EVP_MD_CTX ctxLocal = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); if (signing) { evpPkeyCtx = NativeCrypto.EVP_DigestSignInit(ctxLocal, evpMdRef, key.getNativeRef()); } else { evpPkeyCtx = NativeCrypto.EVP_DigestVerifyInit(ctxLocal, evpMdRef, key.getNativeRef()); } configureEVP_PKEY_CTX(evpPkeyCtx); this.ctx = ctxLocal; }
/** * Creates a new OpenSSLMessageDigest instance for the given algorithm name. */ private OpenSSLMessageDigestJDK(long evp_md, int size) throws NoSuchAlgorithmException { this.evp_md = evp_md; this.size = size; NativeRef.EVP_MD_CTX ctxLocal = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); this.ctx = ctxLocal; }
@Override public Object clone() { NativeRef.EVP_MD_CTX ctxCopy = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); // EVP_MD_CTX_copy_ex requires that the digest struct of source EVP_MD_CTX is initialized. // There's no need to invoke EVP_MD_CTX_copy_ex when the digest struct isn't initialized. if (digestInitializedInContext) { NativeCrypto.EVP_MD_CTX_copy_ex(ctxCopy, ctx); } return new OpenSSLMessageDigestJDK(evp_md, size, ctxCopy, digestInitializedInContext); } }
@Override public Object clone() { NativeRef.EVP_MD_CTX ctxCopy = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); // EVP_MD_CTX_copy_ex requires that the digest struct of source EVP_MD_CTX is initialized. // There's no need to invoke EVP_MD_CTX_copy_ex when the digest struct isn't initialized. if (digestInitializedInContext) { NativeCrypto.EVP_MD_CTX_copy_ex(ctxCopy, ctx); } return new OpenSSLMessageDigestJDK(evp_md, size, ctxCopy, digestInitializedInContext); } }
private void resetContext() throws InvalidAlgorithmParameterException { NativeRef.EVP_MD_CTX ctxLocal = new NativeRef.EVP_MD_CTX(NativeCrypto.EVP_MD_CTX_create()); if (signing) { evpPkeyCtx = NativeCrypto.EVP_DigestSignInit(ctxLocal, evpMdRef, key.getNativeRef()); } else { evpPkeyCtx = NativeCrypto.EVP_DigestVerifyInit(ctxLocal, evpMdRef, key.getNativeRef()); } configureEVP_PKEY_CTX(evpPkeyCtx); this.ctx = ctxLocal; }