---
name: "libressl-d2i_DIST_POINT"
section: "3"
platform: "linux"
package: "libressl"
version: "4.4.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libressl-d2i_DIST_POINT"
---

# libressl-d2i\_DIST\_POINT(3)

decode and encode X.509 data access extensions

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

Crypto Library (libcrypto, -lcrypto)

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