libressl-X509V3_extensions_print3
Pretty-print an array of x.509 extensions
Usage
Crypto Library (libcrypto, -lcrypto)
#include <openssl/x509v3.h>
int
X509V3_extensions_print(BIO *bio, char *title, const STACK_OF(X509_EXTENSION) *sk, unsigned long flags, int indent);
Overview
For each member of the variable sized array sk, X509V3_extensions_print() prints the following information to bio in the following order:
-
The extension type as printed by i2a_ASN1_OBJECT(3).
-
If the extension is critical, the fixed string "critical".
-
A human-readable representation of the data contained in the extension as printed by X509V3_EXT_print(3), passing through the flags. If that function indicates failure, the BER-encoded data of the extension is dumped with ASN1_STRING_print(3) without decoding it first. In both cases, an indent incremented by 4 space characters is used.
If sk is a NULL pointer or empty, X509V3_extensions_print() prints nothing and indicates success.
Unless title is NULL, it is printed on its own output line before the rest of the output, and indent is increased by 4 space characters. This additional global indentation is cumulative to the one applied to individual extensions mentioned above.
Return values
X509V3_extensions_print() is intended to return 1 on success or 0 if an error occurs.