Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org