D2I_ESS_SIGNING_CERT(3)

NAME
d2i_ESS_SIGNING_CERT, i2d_ESS_SIGNING_CERT, d2i_ESS_CERT_ID, i2d_ESS_CERT_ID, d2i_ESS_ISSUER_SERIAL, i2d_ESS_ISSUER_SERIAL - decode and encode signing certificates for S/MIME

SYNOPSIS
#include <openssl/ts.h>
ESS_SIGNING_CERT *
d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **val_out, const unsigned char **der_in, long length);
int
i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *val_in, unsigned char **der_out);
ESS_CERT_ID *
d2i_ESS_CERT_ID(ESS_CERT_ID **val_out, const unsigned char **der_in, long length);
int
i2d_ESS_CERT_ID(const ESS_CERT_ID *val_in, unsigned char **der_out);
ESS_ISSUER_SERIAL *
d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **val_out, const unsigned char **der_in, long length);
int
i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *val_in, unsigned char **der_out);

DESCRIPTION
These functions decode and encode signing certificate attribute structures. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

d2i_ESS_SIGNING_CERT() and i2d_ESS_SIGNING_CERT() decode and encode an ASN.1 SigningCertificate structure defined in RFC 2634 section 5.4.

d2i_ESS_CERT_ID() and i2d_ESS_CERT_ID() decode and encode an ASN.1 ESSCertID structure defined in RFC 2634 section 5.4.1.

d2i_ESS_ISSUER_SERIAL() and i2d_ESS_ISSUER_SERIAL() decode and encode an ASN.1 IssuerSerial structure defined in RFC 2634 section 5.4.1.

RETURN VALUES
d2i_ESS_SIGNING_CERT(), d2i_ESS_CERT_ID(), and d2i_ESS_ISSUER_SERIAL() return an ESS_SIGNING_CERT, ESS_CERT_ID, or ESS_ISSUER_SERIAL object, respectively, or NULL if an error occurs.

i2d_ESS_SIGNING_CERT(), i2d_ESS_CERT_ID(), and i2d_ESS_ISSUER_SERIAL() return the number of bytes successfully encoded or a negative value if an error occurs.

SEE ALSO
ASN1_item_d2i(3), ESS_SIGNING_CERT_new(3)

STANDARDS
RFC 2634: Enhanced Security Services for S/MIME, section 5: Signing Certificate Attribute

HISTORY
These functions first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.