diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x509_cmp.c')
-rw-r--r-- | src/lib/libcrypto/x509/x509_cmp.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/lib/libcrypto/x509/x509_cmp.c b/src/lib/libcrypto/x509/x509_cmp.c index 352aa37434..7c2aaee2e9 100644 --- a/src/lib/libcrypto/x509/x509_cmp.c +++ b/src/lib/libcrypto/x509/x509_cmp.c | |||
@@ -86,9 +86,10 @@ unsigned long X509_issuer_and_serial_hash(X509 *a) | |||
86 | 86 | ||
87 | EVP_MD_CTX_init(&ctx); | 87 | EVP_MD_CTX_init(&ctx); |
88 | f=X509_NAME_oneline(a->cert_info->issuer,NULL,0); | 88 | f=X509_NAME_oneline(a->cert_info->issuer,NULL,0); |
89 | ret=strlen(f); | ||
89 | if (!EVP_DigestInit_ex(&ctx, EVP_md5(), NULL)) | 90 | if (!EVP_DigestInit_ex(&ctx, EVP_md5(), NULL)) |
90 | goto err; | 91 | goto err; |
91 | if (!EVP_DigestUpdate(&ctx,(unsigned char *)f,strlen(f))) | 92 | if (!EVP_DigestUpdate(&ctx,(unsigned char *)f,ret)) |
92 | goto err; | 93 | goto err; |
93 | OPENSSL_free(f); | 94 | OPENSSL_free(f); |
94 | if(!EVP_DigestUpdate(&ctx,(unsigned char *)a->cert_info->serialNumber->data, | 95 | if(!EVP_DigestUpdate(&ctx,(unsigned char *)a->cert_info->serialNumber->data, |
@@ -248,14 +249,14 @@ unsigned long X509_NAME_hash_old(X509_NAME *x) | |||
248 | i2d_X509_NAME(x,NULL); | 249 | i2d_X509_NAME(x,NULL); |
249 | EVP_MD_CTX_init(&md_ctx); | 250 | EVP_MD_CTX_init(&md_ctx); |
250 | EVP_MD_CTX_set_flags(&md_ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); | 251 | EVP_MD_CTX_set_flags(&md_ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); |
251 | if (EVP_DigestInit_ex(&md_ctx, EVP_md5(), NULL) | 252 | EVP_DigestInit_ex(&md_ctx, EVP_md5(), NULL); |
252 | && EVP_DigestUpdate(&md_ctx, x->bytes->data, x->bytes->length) | 253 | EVP_DigestUpdate(&md_ctx, x->bytes->data, x->bytes->length); |
253 | && EVP_DigestFinal_ex(&md_ctx,md,NULL)) | 254 | EVP_DigestFinal_ex(&md_ctx,md,NULL); |
254 | ret=(((unsigned long)md[0] )|((unsigned long)md[1]<<8L)| | ||
255 | ((unsigned long)md[2]<<16L)|((unsigned long)md[3]<<24L) | ||
256 | )&0xffffffffL; | ||
257 | EVP_MD_CTX_cleanup(&md_ctx); | 255 | EVP_MD_CTX_cleanup(&md_ctx); |
258 | 256 | ||
257 | ret=( ((unsigned long)md[0] )|((unsigned long)md[1]<<8L)| | ||
258 | ((unsigned long)md[2]<<16L)|((unsigned long)md[3]<<24L) | ||
259 | )&0xffffffffL; | ||
259 | return(ret); | 260 | return(ret); |
260 | } | 261 | } |
261 | #endif | 262 | #endif |