D2I_AUTHORITY_KEYID(3) | Library Functions Manual | D2I_AUTHORITY_KEYID(3)

# NAME

`d2i_AUTHORITY_KEYID`, `i2d_AUTHORITY_KEYID` — decode and encode X.509 authority key identifiers

# SYNOPSIS

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

AUTHORITY_KEYID *
`d2i_AUTHORITY_KEYID`(AUTHORITY_KEYID **val_out, const unsigned char **der_in, long length);

int
`i2d_AUTHORITY_KEYID`(AUTHORITY_KEYID *val_in, unsigned char **der_out);

# DESCRIPTION

`d2i_AUTHORITY_KEYID`() and `i2d_AUTHORITY_KEYID`() decode and encode an ASN.1 AuthorityKeyIdentifier structure defined in RFC 5280 section 4.2.1.1. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

# RETURN VALUES

`d2i_AUTHORITY_KEYID`() returns an AUTHORITY_KEYID object or `NULL` if an error occurs.

`i2d_AUTHORITY_KEYID`() returns the number of bytes successfully encoded or a negative value if an error occurs.

# SEE ALSO

ASN1_item_d2i(3), AUTHORITY_KEYID_new(3), X509_EXTENSION_new(3)

# STANDARDS

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

- section 4.2.1.1: Certificate Extensions: Authority Key Identifier
- section 5.2.1: CRL Extensions: Authority Key Identifier

# HISTORY

`d2i_AUTHORITY_KEYID`() and `i2d_AUTHORITY_KEYID`() first appeared in OpenSSL 0.9.2b and have been available since OpenBSD 2.6.

June 8, 2025 | Debian