D2I_DIST_POINT(3) | Library Functions Manual | D2I_DIST_POINT(3)

# NAME

`d2i_DIST_POINT`, `i2d_DIST_POINT`, `d2i_CRL_DIST_POINTS`, `i2d_CRL_DIST_POINTS`, `d2i_DIST_POINT_NAME`, `i2d_DIST_POINT_NAME`, `d2i_ISSUING_DIST_POINT`, `i2d_ISSUING_DIST_POINT`, `d2i_ACCESS_DESCRIPTION`, `i2d_ACCESS_DESCRIPTION`, `d2i_AUTHORITY_INFO_ACCESS`, `i2d_AUTHORITY_INFO_ACCESS` — decode and encode X.509 data access extensions

# SYNOPSIS

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

DIST_POINT *
`d2i_DIST_POINT`(DIST_POINT_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_DIST_POINT`(DIST_POINT *val_in, unsigned char **der_out);

CRL_DIST_POINTS *
`d2i_CRL_DIST_POINTS`(CRL_DIST_POINTS_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_CRL_DIST_POINTS`(CRL_DIST_POINTS *val_in, unsigned char **der_out);

DIST_POINT_NAME *
`d2i_DIST_POINT_NAME`(DIST_POINT_NAME_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_DIST_POINT_NAME`(DIST_POINT_NAME *val_in, unsigned char **der_out);

ISSUING_DIST_POINT *
`d2i_ISSUING_DIST_POINT`(ISSUING_DIST_POINT_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_ISSUING_DIST_POINT`(ISSUING_DIST_POINT *val_in, unsigned char **der_out);

ACCESS_DESCRIPTION *
`d2i_ACCESS_DESCRIPTION`(ACCESS_DESCRIPTION_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_ACCESS_DESCRIPTION`(ACCESS_DESCRIPTION *val_in, unsigned char **der_out);

AUTHORITY_INFO_ACCESS *
`d2i_AUTHORITY_INFO_ACCESS`(AUTHORITY_INFO_ACCESS_NAME **val_out, const unsigned char **der_in, long length);

int
`i2d_AUTHORITY_INFO_ACCESS`(AUTHORITY_INFO_ACCESS *val_in, unsigned char **der_out);

# DESCRIPTION

These functions decode and encode X.509 extensions that communicate where to retrieve additional information online. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

`d2i_DIST_POINT`() and `i2d_DIST_POINT`() decode and encode an ASN.1 DistributionPoint structure defined in RFC 5280 section 4.2.1.13.

`d2i_CRL_DIST_POINTS`() and `i2d_CRL_DIST_POINTS`() decode and encode an ASN.1 CRLDistributionPoints structure defined in RFC 5280 section 4.2.1.13.

`d2i_DIST_POINT_NAME`() and `i2d_DIST_POINT_NAME`() decode and encode an ASN.1 DistributionPointName structure defined in RFC 5280 section 4.2.1.13.

`d2i_ISSUING_DIST_POINT`() and `i2d_ISSUING_DIST_POINT`() decode and encode an ASN.1 IssuingDistributionPoint structure defined in RFC 5280 section 5.2.5.

`d2i_ACCESS_DESCRIPTION`() and `i2d_ACCESS_DESCRIPTION`() decode and encode an ASN.1 AccessDescription structure defined in RFC 5280 section 4.2.2.1.

`d2i_AUTHORITY_INFO_ACCESS`() and `i2d_AUTHORITY_INFO_ACCESS`() decode and encode an ASN.1 AuthorityInfoAccessSyntax structure defined in RFC 5280 section 4.2.2.1.

# RETURN VALUES

`d2i_DIST_POINT`(), `d2i_CRL_DIST_POINTS`(), `d2i_DIST_POINT_NAME`(), `d2i_ISSUING_DIST_POINT`(), `d2i_ACCESS_DESCRIPTION`(), and `d2i_AUTHORITY_INFO_ACCESS`() return an object of the respective type or `NULL` if an error occurs.

`i2d_DIST_POINT`(), `i2d_CRL_DIST_POINTS`(), `i2d_DIST_POINT_NAME`(), `i2d_ISSUING_DIST_POINT`(), `i2d_ACCESS_DESCRIPTION`(), and `i2d_AUTHORITY_INFO_ACCESS`() return the number of bytes successfully encoded or a negative value if an error occurs.

# SEE ALSO

ACCESS_DESCRIPTION_new(3), ASN1_item_d2i(3), DIST_POINT_new(3), X509_EXTENSION_new(3)

# STANDARDS

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

# HISTORY

`d2i_DIST_POINT`(), `i2d_DIST_POINT`(), `d2i_CRL_DIST_POINTS`(), `i2d_CRL_DIST_POINTS`(), `d2i_DIST_POINT_NAME`(), and `i2d_DIST_POINT_NAME`() first appeared in OpenSSL 0.9.3 and have been available since OpenBSD 2.6.

`d2i_ACCESS_DESCRIPTION`(), `i2d_ACCESS_DESCRIPTION`(), `d2i_AUTHORITY_INFO_ACCESS`(), and `i2d_AUTHORITY_INFO_ACCESS`() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.

`d2i_ISSUING_DIST_POINT`() and `i2d_ISSUING_DIST_POINT`() first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.

June 8, 2025 | Debian