D2I_X509_ATTRIBUTE(3) | Library Functions Manual | D2I_X509_ATTRIBUTE(3)

# NAME

`d2i_X509_ATTRIBUTE`, `i2d_X509_ATTRIBUTE` — decode and encode generic X.501 Attribute

# SYNOPSIS

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

X509_ATTRIBUTE *
`d2i_X509_ATTRIBUTE`(X509_ATTRIBUTE **val_out, const unsigned char **der_in, long length);

int
`i2d_X509_ATTRIBUTE`(X509_ATTRIBUTE *val_in, unsigned char **der_out);

# DESCRIPTION

`d2i_X509_ATTRIBUTE`() and `i2d_X509_ATTRIBUTE`() decode and encode a generic ASN.1 Attribute structure defined in X.501 section 8.2. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

# RETURN VALUES

`d2i_X509_ATTRIBUTE`() returns an X509_ATTRIBUTE object or `NULL` if an error occurs.

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

# SEE ALSO

ASN1_item_d2i(3), d2i_PKCS12(3), d2i_PKCS8_PRIV_KEY_INFO(3), d2i_X509_EXTENSION(3), d2i_X509_REQ(3), X509_ATTRIBUTE_new(3)

# STANDARDS

ITU-T Recommendation X.501, also known as ISO/IEC 9594-2: Information Technology Open Systems Interconnection The Directory: Models, section 8.2: Overall structure

# HISTORY

`d2i_X509_ATTRIBUTE`() and `i2d_X509_ATTRIBUTE`() first appeared in SSLeay 0.5.1 and have been available since OpenBSD 2.4.

June 8, 2025 | Debian