diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/asn1/t_x509.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/t_x509.c b/src/lib/libcrypto/asn1/t_x509.c index 89a9085249..71f97a8214 100644 --- a/src/lib/libcrypto/asn1/t_x509.c +++ b/src/lib/libcrypto/asn1/t_x509.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t_x509.c,v 1.53 2025/06/25 18:28:47 tb Exp $ */ | 1 | /* $OpenBSD: t_x509.c,v 1.54 2025/07/01 06:46:39 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -106,6 +106,28 @@ X509_print(BIO *bp, X509 *x) | |||
106 | } | 106 | } |
107 | LCRYPTO_ALIAS(X509_print); | 107 | LCRYPTO_ALIAS(X509_print); |
108 | 108 | ||
109 | static int | ||
110 | x509_print_uids(BIO *bp, const X509 *x, int indent) | ||
111 | { | ||
112 | const ASN1_BIT_STRING *issuerUID = NULL, *subjectUID = NULL; | ||
113 | |||
114 | X509_get0_uids(x, &issuerUID, &subjectUID); | ||
115 | if (issuerUID != NULL) { | ||
116 | if (BIO_printf(bp, "%*sIssuer Unique ID: ", indent, "") <= 0) | ||
117 | return 0; | ||
118 | if (!X509_signature_dump(bp, issuerUID, indent + 4)) | ||
119 | return 0; | ||
120 | } | ||
121 | if (subjectUID != NULL) { | ||
122 | if (BIO_printf(bp, "%*sSubject Unique ID: ", indent, "") <= 0) | ||
123 | return 0; | ||
124 | if (!X509_signature_dump(bp, subjectUID, indent + 4)) | ||
125 | return 0; | ||
126 | } | ||
127 | |||
128 | return 1; | ||
129 | } | ||
130 | |||
109 | int | 131 | int |
110 | X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) | 132 | X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) |
111 | { | 133 | { |
@@ -242,6 +264,11 @@ X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) | |||
242 | } | 264 | } |
243 | } | 265 | } |
244 | 266 | ||
267 | if (!(cflag & X509_FLAG_NO_IDS)) { | ||
268 | if (!x509_print_uids(bp, x, 8)) | ||
269 | goto err; | ||
270 | } | ||
271 | |||
245 | if (!(cflag & X509_FLAG_NO_EXTENSIONS)) | 272 | if (!(cflag & X509_FLAG_NO_EXTENSIONS)) |
246 | X509V3_extensions_print(bp, "X509v3 extensions", | 273 | X509V3_extensions_print(bp, "X509v3 extensions", |
247 | ci->extensions, cflag, 8); | 274 | ci->extensions, cflag, 8); |