X509_CINF_NEW(3) | Library Functions Manual | X509_CINF_NEW(3)

# NAME

`X509_CINF_new`, `X509_CINF_free`, `X509_VAL_new`, `X509_VAL_free`, `X509_CERT_AUX_new`, `X509_CERT_AUX_free` — X.509 certificate information objects

# SYNOPSIS

library “libcrypto”
`#include <openssl/x509.h>`

X509_CINF *
`X509_CINF_new`(void);

void
`X509_CINF_free`(X509_CINF *inf);

X509_VAL *
`X509_VAL_new`(void);

void
`X509_VAL_free`(X509_VAL *val);

X509_CERT_AUX *
`X509_CERT_AUX_new`(void);

void
`X509_CERT_AUX_free`(X509_CERT_AUX *aux);

# DESCRIPTION

`X509_CINF_new`() allocates and initializes an empty X509_CINF object, representing an ASN.1 TBSCertificate structure defined in RFC 5280 section 4.1. It is used inside the X509 object and holds the main information contained in the X.509 certificate including subject, public key, issuer, serial number, validity period, and extensions. `X509_CINF_free`() frees inf.

`X509_VAL_new`() allocates and initializes an empty X509_VAL object, representing an ASN.1 Validity structure defined in RFC 5280 section 4.1. It is used inside the X509_CINF object and holds the validity period of the certificate. `X509_VAL_free`() frees val.

`X509_CERT_AUX_new`() allocates and initializes an empty X509_CERT_AUX structure. It can be used inside an X509 object to hold optional non-standard auxiliary data appended to a certificate, for example friendly alias names and trust data. `X509_CERT_AUX_free`() frees aux.

# RETURN VALUES

`X509_CINF_new`(), `X509_VAL_new`(), and `X509_CERT_AUX_new`() return the new X509_CINF, X509_VAL, or X509_CERT_AUX object, respectively, or `NULL` if an error occurs.

# SEE ALSO

d2i_X509_CINF(3), X509_add1_trust_object(3), X509_CERT_AUX_print(3), X509_keyid_set1(3), X509_new(3)

# STANDARDS

RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

# HISTORY

`X509_CINF_new`(), `X509_CINF_free`(), `X509_VAL_new`(), and `X509_VAL_free`() appeared in SSLeay 0.4 or earlier and have been available since OpenBSD 2.4.

`X509_CERT_AUX_new`() and `X509_CERT_AUX_free`() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.

June 8, 2025 | Debian