Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
| CMS_GET0_SIGNERINFOS(3) | Library Functions Manual | CMS_GET0_SIGNERINFOS(3) | 
NAME
CMS_get0_SignerInfos,
    CMS_SignerInfo_get_version,
    CMS_SignerInfo_get0_signer_id,
    CMS_SignerInfo_get0_signature,
    CMS_SignerInfo_cert_cmp,
    CMS_SignerInfo_set1_signer_cert —
    CMS SignedData signer functions
SYNOPSIS
#include
    <openssl/cms.h>
STACK_OF(CMS_SignerInfo) *
  
  CMS_get0_SignerInfos(CMS_ContentInfo
    *cms);
int
  
  CMS_SignerInfo_get_version(CMS_SignerInfo
    *si, long *version);
int
  
  CMS_SignerInfo_get0_signer_id(CMS_SignerInfo
    *si, ASN1_OCTET_STRING **keyid,
    X509_NAME **issuer, ASN1_INTEGER
    **sno);
ASN1_OCTET_STRING *
  
  CMS_SignerInfo_get0_signature(CMS_SignerInfo
    *si);
int
  
  CMS_SignerInfo_cert_cmp(CMS_SignerInfo
    *si, X509 *certificate);
void
  
  CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo
    *si, X509 *signer);
DESCRIPTION
CMS_get0_SignerInfos()
    returns all the SignerInfo structures associated with
    the SignedData structure
  cms.
CMS_SignerInfo_get_version()
    sets *version to the syntax version number of the
    SignerInfo structure si.
CMS_SignerInfo_get0_signer_id()
    retrieves the certificate SignerIdentifier associated
    with the SignerInfo structure
    si. Either the
    SubjectKeyIdentifier will be set in
    keyid or both issuer name and serial number in
    issuer and sno.
CMS_SignerInfo_get0_signature()
    retrieves the signature field of
    si. The application program is allowed to modify the
    data pointed to.
CMS_SignerInfo_cert_cmp()
    compares the certificate against the signer identifier
    of si.
CMS_SignerInfo_set1_signer_cert()
    sets the signer certificate of si to
    signer.
The main purpose of these functions is to enable an application to look up signer certificates using any appropriate technique when the simpler method of CMS_verify(3) is not appropriate.
In typical usage, an application
    retrieves all CMS_SignerInfo structures using
    CMS_get0_SignerInfos()
    and retrieves the identifier information using CMS. It will then obtain the
    signer certificate by some unspecified means (or return and error if it
    cannot be found) and set it using
    CMS_SignerInfo_set1_signer_cert(). Once all signer
    certificates have been set,
    CMS_verify(3) can be
    used.
RETURN VALUES
CMS_get0_SignerInfos() returns an internal
    pointer to all the CMS_SignerInfo structures, or
    NULL if there are no signers or if
    cms is not of the type
    SignedData.
CMS_SignerInfo_get_version() always
    succeeds and returns 1.
CMS_SignerInfo_get0_signer_id() returns 1
    for success or 0 for failure.
CMS_SignerInfo_get0_signature() returns an
    internal pointer to the signature.
CMS_SignerInfo_cert_cmp() returns 0 for a
    match or non-zero otherwise.
Any error can be obtained from ERR_get_error(3).
SEE ALSO
CMS_ContentInfo_new(3), CMS_signed_add1_attr(3), CMS_verify(3)
STANDARDS
RFC 5652: Cryptographic Message Syntax (CMS)
- section 5.1: SignedData Type
- section 5.3: SignerInfo Type
HISTORY
CMS_get0_SignerInfos(),
    CMS_SignerInfo_get0_signer_id(),
    CMS_SignerInfo_cert_cmp(), and
    CMS_SignerInfo_set1_signer_cert() first appeared in
    OpenSSL 0.9.8h and CMS_SignerInfo_get0_signature()
    in OpenSSL 1.0.2. These functions have been available since
    OpenBSD 6.7.
CMS_SignerInfo_get_version() first
    appeared in OpenBSD 7.4.
| January 22, 2024 | Sortix 1.1.0-dev | 
