D2I_X509_CRL(3) | Library Functions Manual | D2I_X509_CRL(3)

# NAME

`d2i_X509_CRL`, `i2d_X509_CRL`, `d2i_X509_CRL_bio`, `d2i_X509_CRL_fp`, `i2d_X509_CRL_bio`, `i2d_X509_CRL_fp`, `d2i_X509_CRL_INFO`, `i2d_X509_CRL_INFO`, `d2i_X509_REVOKED`, `i2d_X509_REVOKED` — decode and encode X.509 certificate revocation lists

# SYNOPSIS

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

X509_CRL *
`d2i_X509_CRL`(X509_CRL **val_out, const unsigned char **der_in, long length);

int
`i2d_X509_CRL`(X509_CRL *val_in, unsigned char **der_out);

X509_CRL *
`d2i_X509_CRL_bio`(BIO *in_bio, X509_CRL **val_out);

X509_CRL *
`d2i_X509_CRL_fp`(FILE *in_fp, X509_CRL **val_out);

int
`i2d_X509_CRL_bio`(BIO *out_bio, X509_CRL *val_in);

int
`i2d_X509_CRL_fp`(FILE *out_fp, X509_CRL *val_in);

X509_CRL_INFO *
`d2i_X509_CRL_INFO`(X509_CRL_INFO **val_out, const unsigned char **der_in, long length);

int
`i2d_X509_CRL_INFO`(X509_CRL_INFO *val_in, unsigned char **der_out);

X509_REVOKED *
`d2i_X509_REVOKED`(X509_REVOKED **val_out, const unsigned char **der_in, long length);

int
`i2d_X509_REVOKED`(X509_REVOKED *val_in, unsigned char **der_out);

# DESCRIPTION

These functions decode and encode X.509 certificate revocation lists. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

`d2i_X509_CRL`() and `i2d_X509_CRL`() decode and encode an ASN.1 CertificateList structure defined in RFC 5280 section 5.1.

`d2i_X509_CRL_bio`(), `d2i_X509_CRL_fp`(), `i2d_X509_CRL_bio`(), and `i2d_X509_CRL_fp`() are similar except that they decode or encode using a BIO or FILE pointer.

`d2i_X509_CRL_INFO`() and `i2d_X509_CRL_INFO`() decode and encode an ASN.1 TBSCertList structure defined in RFC 5280 section 5.1.

`d2i_X509_REVOKED`() and `i2d_X509_REVOKED`() decode and encode an ASN.1 structure representing one element of the revokedCertificates field of the ASN.1 TBSCertList structure.

# SEE ALSO

ASN1_item_d2i(3), X509_CRL_new(3), X509_REVOKED_new(3)

# STANDARDS

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

# HISTORY

`d2i_X509_CRL`(), `i2d_X509_CRL`(), `d2i_X509_CRL_fp`(), `i2d_X509_CRL_fp`(), `d2i_X509_CRL_INFO`(), `i2d_X509_CRL_INFO`(), `d2i_X509_REVOKED`(), and `i2d_X509_REVOKED`() first appeared in SSLeay 0.5.1. `d2i_X509_CRL_bio`() and `i2d_X509_CRL_bio`() first appeared in SSLeay 0.6.0. These functions have been available since OpenBSD 2.4.

June 8, 2025 | Debian