From: Dr. Stephen Henson Date: Tue, 12 Jun 2012 13:41:18 +0000 (+0000) Subject: print out issuer and subject unique identifier fields in certificates X-Git-Tag: OpenSSL_1_0_2-beta1~458 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2aa3ef78b68513681472dd35f5e6fa7908765360;p=oweals%2Fopenssl.git print out issuer and subject unique identifier fields in certificates --- diff --git a/CHANGES b/CHANGES index 6f60d42394..c4c97a8636 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,10 @@ Changes between 1.0.1 and 1.0.2 [xx XXX xxxx] + *) Print out deprecated issuer and subject unique ID fields in + certificates. + [Steve Henson] + *) Extend OCSP I/O functions so they can be used for simple general purpose HTTP as well as OCSP. New wrapper function which can be used to download CRLs using the OCSP API. diff --git a/crypto/asn1/t_x509.c b/crypto/asn1/t_x509.c index edbb39a02f..8eb0b79a91 100644 --- a/crypto/asn1/t_x509.c +++ b/crypto/asn1/t_x509.c @@ -225,6 +225,24 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) } } + if(!(cflag & X509_FLAG_NO_IDS)) + { + if (ci->issuerUID) + { + if (BIO_printf(bp,"%8sIssuer Unique ID: ","") <= 0) + goto err; + if (!X509_signature_dump(bp, ci->issuerUID, 12)) + goto err; + } + if (ci->subjectUID) + { + if (BIO_printf(bp,"%8sSubject Unique ID: ","") <= 0) + goto err; + if (!X509_signature_dump(bp, ci->subjectUID, 12)) + goto err; + } + } + if (!(cflag & X509_FLAG_NO_EXTENSIONS)) X509V3_extensions_print(bp, "X509v3 extensions", ci->extensions, cflag, 8); diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h index 45b4f159e8..c913e3c39d 100644 --- a/crypto/x509/x509.h +++ b/crypto/x509/x509.h @@ -372,6 +372,7 @@ typedef struct x509_cert_pair_st { #define X509_FLAG_NO_SIGDUMP (1L << 9) #define X509_FLAG_NO_AUX (1L << 10) #define X509_FLAG_NO_ATTRIBUTES (1L << 11) +#define X509_FLAG_NO_IDS (1L << 12) /* Flags specific to X509_NAME_print_ex() */