X509_CRL_NEW(3)
πΈ NAME πΈ
Bestie, welcome to X509_CRL_NEW(3) β a Library Functions Manual page about X.509 certificate revocation lists. The whole squad is here: X509_CRL_new, X509_CRL_dup, X509_CRL_up_ref, X509_CRL_free, X509_CRL_INFO_new, X509_CRL_INFO_free β X.509 certificate revocation lists, periodt π
β¨
β¨ SYNOPSIS β¨
library βlibcryptoβ #include <openssl/x509.h>
X509_CRL *
X509_CRL_new(void);
X509_CRL *
X509_CRL_dup(X509_CRL *crl);
int
X509_CRL_up_ref(X509_CRL *crl);
void
X509_CRL_free(X509_CRL *crl);
X509_CRL_INFO *
X509_CRL_INFO_new(void);
void
X509_CRL_INFO_free(X509_CRL_INFO *crl_info);
π¦ DESCRIPTION π¦
Okay so this is the CRL corner of the library, and itβs lowkey iconic. Hereβs the whole vibe, function by function:
X509_CRL_new()β allocates and initializes an emptyX509_CRLobject. That object represents an ASN.1CertificateListstructure defined in RFC 5280 section 5.1. It can hold a pointer to anX509_CRL_INFOobject discussed below, together with a cryptographic signature and information about the signature algorithm used. The reference count is set to 1. Fresh out the box, reference count one, main character energy β¨X509_CRL_dup()β creates a deep copy ofcrl. Not a little shallow situation, bestie: deep copy π₯X509_CRL_up_ref()β increments the reference count ofcrlby 1. Itβs giving βmore people are holding onto this nowβ πX509_CRL_free()β decrements the reference count ofcrlby 1. If the reference count reaches 0, it freescrl. Bye bestie, only when the count says so π«ΆX509_CRL_INFO_new()β allocates and initializes an emptyX509_CRL_INFOobject. That one represents an ASN.1TBSCertListstructure defined in RFC 5280 section 5.1. It is used inside theX509_CRLobject and can hold a list of revoked certificates, an issuer name, the time the list was issued, the time when the next update of the list is due, and optional extensions. So much info, so much structure πX509_CRL_INFO_free()β freescrl_info. Cleanup queen behavior π§
π RETURN VALUES π
X509_CRL_new(),X509_CRL_dup(), andX509_CRL_INFO_new()return the newX509_CRLorX509_CRL_INFOobject, respectively, orNULLif an error occurs. No object?NULL. Thatβs the whole mood πX509_CRL_up_ref()returns1on success or0on error. Simple. Clean. Slay π
π SEE ALSO π
Go read these next, iykyk:
ACCESS_DESCRIPTION_new(3)AUTHORITY_KEYID_new(3)d2i_X509_CRL(3)DIST_POINT_new(3)PEM_read_X509_CRL(3)X509_CRL_digest(3)X509_CRL_get0_by_serial(3)X509_CRL_get0_lastUpdate(3)X509_CRL_get0_signature(3)X509_CRL_get_ext(3)X509_CRL_get_ext_d2i(3)X509_CRL_get_issuer(3)X509_CRL_get_version(3)X509_CRL_match(3)X509_CRL_print(3)X509_CRL_sign(3)X509_EXTENSION_new(3)X509_INFO_new(3)X509_load_crl_file(3)X509_new(3)X509_OBJECT_get0_X509_CRL(3)X509_REVOKED_new(3)X509_STORE_CTX_set0_crls(3)X509_STORE_get1_crls(3)
β STANDARDS β
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, section 5: CRL and CRL Extensions Profile. Standards moment, but make it cute πβ¨
π HISTORY π
X509_CRL_new(),X509_CRL_free(),X509_CRL_INFO_new(), andX509_CRL_INFO_free()first appeared in SSLeay 0.4.4.X509_CRL_dup()first appeared in SSLeay 0.5.1.- These functions have been available since OpenBSD 2.4.
X509_CRL_up_ref()first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.3.
Ancient lore, honestly. We love a documented origin story ππ
Cute sign-off from the Debian footer: June 8, 2025, manual page X509_CRL_NEW(3) β bye bestie, stay revoked and unbothered ππ
π¦ where this page comes from
- alpine 3.24: libressl-doc 4.3.1-r0 Β· custom
- arch rolling: libressl 4.4.0-1 Β· ISC AND custom:OpenSSL
- Copyright (c) 2016, 2018, 2021 Ingo Schwarze <schwarze@openbsd.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms