CERT_INFO (Compact 2013)

3/28/2014

This structure contains the certificate information.

Syntax

typedef struct _CERT_INFO {
  DWORD dwVersion;
  CRYPT_INTEGER_BLOB SerialNumber;
  CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
  CERT_NAME_BLOB Issuer;
  FILETIME NotBefore;
  FILETIME NotAfter;
  CERT_NAME_BLOB Subject;
  CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
  CRYPT_BIT_BLOB IssuerUniqueId;
  CRYPT_BIT_BLOB SubjectUniqueId;
  DWORD cExtension;
  PCERT_EXTENSION rgExtension;
} CERT_INFO, *PCERT_INFO;

Members

  • dwVersion
    Certificate's version number. The following table shows defined version numbers.

    Value

    Description

    CERT_V1

    Version 1

    CERT_V2

    Version 2

    CERT_V3

    Version 3

  • SerialNumber
    BLOB (Cryptography) structure containing the certificate's serial number. The least significant byte is the zero byte of the pbData member of SerialNumber. The index for the last byte of pbData is one less than the value of the cbData member of SerialNumber. The most significant byte is the last byte of pbData. Leading 0x00 or 0xFF bytes are removed. For more information, see CertCompareIntegerBlob.
  • SignatureAlgorithm
    CRYPT_ALGORITHM_IDENTIFIER structure containing the signature algorithm type and encoded additional encryption parameters.
  • Issuer
    Certificate issuer's name in encoded form.
  • NotBefore
    Date and time before which the certificate is not valid. For dates between 1950 and 2049 inclusive, the date and time is encoded UTC-time in the form YYMMDDHHMMSS. This member uses a two-digit year and is precise to seconds. For dates before 1950 or after 2049, encoded generalized time is used. Encoded generalized time is in the form YYYYMMDDHHSSMMM, using a four-digit year, and is precise to milliseconds. Even though generalized time supports millisecond resolution, the NotBefore time is only precise to seconds.
  • NotAfter
    Date and time after which the certificate is not valid. For dates between 1950 and 2049 inclusive, the date and time is encoded UTC-time in the form YYMMDDHHMMSS. This member uses a two-digit year and is precise to seconds. For dates before 1950 or after 2049, encoded generalized time is used. Encoded generalized time is in the form YYYYMMDDHHSSMMM, using a four-digit year, and is precise to milliseconds. Even though generalized time supports millisecond resolution, the NotAfter time is only precise to seconds.
  • Subject
    Certificate subject's encoded name.
  • SubjectPublicKeyInfo
    BLOB structure containing the encoded public key and its algorithm.
  • IssuerUniqueId
    BLOB structure containing a unique identifier of the issuer.
  • SubjectUniqueId
    BLOB structure containing a unique identifier of the subject.
  • cExtension
    Number of elements in the rgExtension array.
  • rgExtension
    Pointer to an array of CERT_EXTENSION structures, each containing extension information about the certificate.

Requirements

Header

wincrypt.h

See Also

Reference

Cryptography Structures
CertCompareCertificate
CertGetSubjectCertificateFromStore
CryptSignAndEncodeCertificate
BLOB (Cryptography)
CERT_EXTENSION
CERT_PUBLIC_KEY_INFO
CRYPT_ALGORITHM_IDENTIFIER
CRYPT_BIT_BLOB