From 809cd0a22da9dbc62a33ce30d6704214e3ca5427 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 7 Mar 2010 17:02:47 +0000 Subject: [PATCH] print outermost signature algorithm parameters too --- crypto/asn1/t_x509.c | 9 +++++++-- crypto/rsa/rsa_ameth.c | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/crypto/asn1/t_x509.c b/crypto/asn1/t_x509.c index d7eab16339..bd22a8dd4f 100644 --- a/crypto/asn1/t_x509.c +++ b/crypto/asn1/t_x509.c @@ -168,12 +168,16 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) if(!(cflag & X509_FLAG_NO_SIGNAME)) { + if(X509_signature_print(bp, x->sig_alg, NULL) <= 0) + goto err; +#if 0 if (BIO_printf(bp,"%8sSignature Algorithm: ","") <= 0) goto err; if (i2a_ASN1_OBJECT(bp, ci->signature->algorithm) <= 0) goto err; if (BIO_puts(bp, "\n") <= 0) goto err; +#endif } if(!(cflag & X509_FLAG_NO_ISSUER)) @@ -327,8 +331,9 @@ int X509_signature_print(BIO *bp, X509_ALGOR *sigalg, ASN1_STRING *sig) return ameth->sig_print(bp, sigalg, sig, 9, 0); } } - - return X509_signature_dump(bp, sig, 9); + if (sig) + return X509_signature_dump(bp, sig, 9); + return 1; } int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v) diff --git a/crypto/rsa/rsa_ameth.c b/crypto/rsa/rsa_ameth.c index e25240d3f7..2ec302c560 100644 --- a/crypto/rsa/rsa_ameth.c +++ b/crypto/rsa/rsa_ameth.c @@ -400,8 +400,9 @@ static int rsa_sig_print(BIO *bp, const X509_ALGOR *sigalg, if (!rv) return 0; } - - return X509_signature_dump(bp, sig, indent); + if (sig) + return X509_signature_dump(bp, sig, indent); + return 1; } static int rsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2) -- 2.25.1