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
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.