X509_ACERT_PRINT_EX(3ossl)
π NAME π
okay so this is the X509_ACERT_PRINT_EX(3ossl) page bestie β it's all about the X509_ACERT printing routines: X509_ACERT_print_ex() and X509_ACERT_print(). no cap, they're literally the glow-up your attribute cert needs to become readable π
β¨ SYNOPSIS β¨
#include <openssl/x509_acert.h>
int X509_ACERT_print(BIO *bp, X509_ACERT *acert);
int X509_ACERT_print_ex(BIO *bp, X509_ACERT *acert, unsigned long nmflags,
unsigned long cflag);
π DESCRIPTION π
okay so X509_ACERT_print_ex() prints a human-readable version of the attribute certificate acert to the BIO bp. slay.
The following data contained in the attribute certificate is printed in order:
- The header text
"Attribute certificate:"and"Data:"β that's theX509_FLAG_NO_HEADERvibe π - The attribute certificate version number as defined by the standard, followed in parentheses by the value contained in the version field in hexadecimal notation. If the version number is not a valid value according to the specification, only the raw value is printed. See
X509_ACERT_get_version(3)for details. βX509_FLAG_NO_VERSIONβ¨ - The serial number of the attribute certificate β
X509_FLAG_NO_SERIALπ - The identity of the holder of the attribute certificate. If the holder issuer name is present, the first
GENERAL_NAMEreturned byX509_ACERT_get0_holder_entityName()is printed. If the holderbaseCertificateIdis present, the issuer name (printed withX509_NAME_print_ex) and serial number of the holder's certificate are displayed. βX509_FLAG_NO_SUBJECTπ¦ - The name of the attribute certificate issuer as returned from
X509_ACERT_get0_issuerName()and printed usingX509_NAME_print_ex(). βX509_FLAG_NO_ISSUERπΈ - The period of validity between the times returned from
X509_ACERT_get0_notBefore()andX509_ACERT_get0_notAfter(). The values are printed as generalized times usingASN1_GENERALIZEDTIME_print(). βX509_FLAG_NO_VALIDITYπ« - The list of attributes contained in the attribute certificate. The attribute type is printed with
i2a_ASN1_OBJECT(). String valued attributes are printed as raw string data. ASN1 encoded values are printed withASN1_parse_dump(). βX509_FLAG_NO_ATTRIBUTESπ₯ - All X.509 extensions contained in the attribute certificate. β
X509_FLAG_NO_EXTENSIONSπ - The signature is printed with
X509_signature_print(). βX509_FLAG_NO_SIGDUMPβ
If cflag is specifies as X509_FLAG_COMPAT, all of the above data in the attribute certificate will be printed. periodt.
The nmflags flag determines the format used to output all fields printed using X509_NAME_print_ex(). See X509_NAME_print_ex(3) for details. iykyk π
X509_ACERT_print() is equivalent to calling X509_ACERT_print_ex() with the nmflags and cflags set to XN_FLAG_COMPAT and X509_FLAG_COMPAT respectively. it's giving default behavior, and honestly? iconic.
π«Ά RETURN VALUES π«Ά
X509_ACERT_print_ex() and X509_ACERT_print() return 1 for success and 0 for failure. fr fr, that's it.
π¦ SEE ALSO π¦
πΈ HISTORY πΈ
X509_ACERT_print() and X509_ACERT_print_ex() were added in OpenSSL 3.4. not me being obsessed with version history π
π COPYRIGHT π
Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
okay bestie that's the whole page π it's from the OpenSSL docs, version 3.5.0, dated 2026-09-25, and the manual page is X509_ACERT_PRINT_EX(3ossl) β bye, ily, go print some certs responsibly πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3-doc 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms