Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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 pbDatamember of SerialNumber. The index for the last byte of pbDatais one less than the value of the cbDatamember 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_IDENTIFIERstructure 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 NotBeforetime 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 NotAftertime is only precise to seconds.

Subject

Certificate subject's encoded name.

SubjectPublicKeyInfo

BLOBstructure containing the encoded public key and its algorithm.

IssuerUniqueId

BLOBstructure containing a unique identifier of the issuer.

SubjectUniqueId

BLOBstructure containing a unique identifier of the subject.

cExtension

Number of elements in the rgExtensionarray.

rgExtension

Pointer to an array of CERT_EXTENSIONstructures, each containing extension information about the certificate.

Requirements

Header wincrypt.h
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also