CERT_INFO structure
The CERT_INFO structure contains the information of a certificate.
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
-
The version number of a certificate. This member can be one of the following version numbers.
Value Meaning - CERT_V1
Version 1
- CERT_V2
Version 2
- CERT_V3
Version 3
- SerialNumber
-
A BLOB that contains the serial number of a certificate. 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
-
A CRYPT_ALGORITHM_IDENTIFIER structure that contains the signature algorithm type and encoded additional encryption parameters.
- Issuer
-
The name, in encoded form, of the issuer of the certificate.
- NotBefore
-
Date and time before which the certificate is not valid. For dates between 1950 and 2049 inclusive, the date and time is encoded Coordinated Universal Time (Greenwich Mean Time) format 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 YYYYMMDDHHMMSSMMM, 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 Coordinated Universal Time format 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 YYYYMMDDHHMMSSMMM, 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
-
The encoded name of the subject of the certificate.
- SubjectPublicKeyInfo
-
A CERT_PUBLIC_KEY_INFO structure that contains the encoded public key and its algorithm. The PublicKey member of the CERT_PUBLIC_KEY_INFO structure contains the encoded public key as a CRYPT_BIT_BLOB, and the Algorithm member contains the encoded algorithm as a CRYPT_ALGORITHM_IDENTIFIER.
- IssuerUniqueId
-
A BLOB that contains a unique identifier of the issuer.
- SubjectUniqueId
-
A BLOB that contains a unique identifier of the subject.
- cExtension
-
The number of elements in the rgExtension array.
- rgExtension
-
An array of pointers to CERT_EXTENSION structures, each of which contains extension information about the certificate.
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
See also
- CERT_EXTENSION
- CERT_PUBLIC_KEY_INFO
- CertCompareCertificate
- CertGetSubjectCertificateFromStore
- CMSG_ENVELOPED_ENCODE_INFO
- CMSG_SIGNER_ENCODE_INFO
- CRYPT_ALGORITHM_IDENTIFIER
- CRYPT_BIT_BLOB
- CRYPT_INTEGER_BLOB
- CRYPT_VERIFY_MESSAGE_PARA
- CryptMsgControl
- CryptMsgGetParam
- CryptSignAndEncodeCertificate