D2I_PKEY_USAGE_PERIOD(3) | Library Functions Manual | D2I_PKEY_USAGE_PERIOD(3)

# NAME

`d2i_PKEY_USAGE_PERIOD`, `i2d_PKEY_USAGE_PERIOD` — decode and encode X.509 key usage period extensions

# SYNOPSIS

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

PKEY_USAGE_PERIOD *
`d2i_PKEY_USAGE_PERIOD`(PKEY_USAGE_PERIOD **val_out, const unsigned char **der_in, long length);

int
`i2d_PKEY_USAGE_PERIOD`(PKEY_USAGE_PERIOD *val_in, unsigned char **der_out);

# DESCRIPTION

`d2i_PKEY_USAGE_PERIOD`() and `i2d_PKEY_USAGE_PERIOD`() decode and encode an ASN.1 PrivateKeyUsagePeriod structure defined in RFC 3280 section 4.2.1.4. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

# RETURN VALUES

`d2i_PKEY_USAGE_PERIOD`() returns a PKEY_USAGE_PERIOD object or `NULL` if an error occurs.

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

# SEE ALSO

ASN1_item_d2i(3), PKEY_USAGE_PERIOD_new(3), X509_EXTENSION_new(3)

# STANDARDS

RFC 3280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, section 4.2.1.4: Private Key Usage Period

RFC 3280 was obsoleted by RFC 5280; see PKEY_USAGE_PERIOD_new(3) for details.

# HISTORY

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

June 8, 2025 | Debian