Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix volatile manual

This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.

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

#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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org