X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fasn1%2Ft_x509.c;h=454c695eb2aa43d62fb07880b730fc067c75df59;hb=d66ace9da50de58a17e7ca7eeec8ca6f5a6be189;hp=17ed9f2f7fae137851e2de7faa6e4abdfb3e583d;hpb=535d79da635c2015a88a0184321296bdcb201848;p=oweals%2Fopenssl.git diff --git a/crypto/asn1/t_x509.c b/crypto/asn1/t_x509.c index 17ed9f2f7f..454c695eb2 100644 --- a/crypto/asn1/t_x509.c +++ b/crypto/asn1/t_x509.c @@ -176,7 +176,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) if(!(cflag & X509_FLAG_NO_ISSUER)) { if (BIO_printf(bp," Issuer:%c",mlch) <= 0) goto err; - if (!X509_NAME_print_ex(bp,X509_get_issuer_name(x),nmindent, nmflags)) goto err; + if (X509_NAME_print_ex(bp,X509_get_issuer_name(x),nmindent, nmflags) < 0) goto err; if (BIO_write(bp,"\n",1) <= 0) goto err; } if(!(cflag & X509_FLAG_NO_VALIDITY)) @@ -191,7 +191,7 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) if(!(cflag & X509_FLAG_NO_SUBJECT)) { if (BIO_printf(bp," Subject:%c",mlch) <= 0) goto err; - if (!X509_NAME_print_ex(bp,X509_get_subject_name(x),nmindent, nmflags)) goto err; + if (X509_NAME_print_ex(bp,X509_get_subject_name(x),nmindent, nmflags) < 0) goto err; if (BIO_write(bp,"\n",1) <= 0) goto err; } if(!(cflag & X509_FLAG_NO_PUBKEY)) @@ -259,7 +259,6 @@ int X509_ocspid_print (BIO *bp, X509 *x) unsigned char *dertmp; int derlen; int i; - SHA_CTX SHA1buf ; unsigned char SHA1md[SHA_DIGEST_LENGTH]; /* display the hash of the subject as it would appear @@ -271,9 +270,7 @@ int X509_ocspid_print (BIO *bp, X509 *x) goto err; i2d_X509_NAME(x->cert_info->subject, &dertmp); - SHA1_Init(&SHA1buf); - SHA1_Update(&SHA1buf, der, derlen); - SHA1_Final(SHA1md,&SHA1buf); + EVP_Digest(der, derlen, SHA1md, NULL, EVP_sha1()); for (i=0; i < SHA_DIGEST_LENGTH; i++) { if (BIO_printf(bp,"%02X",SHA1md[i]) <= 0) goto err; @@ -286,10 +283,8 @@ int X509_ocspid_print (BIO *bp, X509 *x) if (BIO_printf(bp,"\n Public key OCSP hash: ") <= 0) goto err; - SHA1_Init(&SHA1buf); - SHA1_Update(&SHA1buf, x->cert_info->key->public_key->data, - x->cert_info->key->public_key->length); - SHA1_Final(SHA1md,&SHA1buf); + EVP_Digest(x->cert_info->key->public_key->data, + x->cert_info->key->public_key->length, SHA1md, NULL, EVP_sha1()); for (i=0; i < SHA_DIGEST_LENGTH; i++) { if (BIO_printf(bp,"%02X",SHA1md[i]) <= 0) @@ -445,6 +440,8 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase) ll=80-2-obase; s=X509_NAME_oneline(name,buf,256); + if (!*s) + return 1; s++; /* skip the first slash */ l=ll;