CERT_INFO 结构 (wincrypt.h)
CERT_INFO结构包含证书的信息。
语法
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;
成员
dwVersion
证书的版本号。 此成员可以是以下版本号之一。
值 | 含义 |
---|---|
|
版本 1 |
|
版本 2 |
|
版本 3 |
SerialNumber
包含证书序列号的 BLOB 。 最小有效字节是 SerialNumber 的 pbData 成员的零字节。 pbData 最后一个字节的索引比 SerialNumber 的 cbData 成员的值少一个。 最重要的字节是 pbData 的最后一个字节。 删除前导0x00或0xFF个字节。 有关详细信息,请参阅 CertCompareIntegerBlob。
SignatureAlgorithm
包含签名算法类型和编码的其他加密参数 的CRYPT_ALGORITHM_IDENTIFIER 结构。
Issuer
证书颁发者的名称(以编码形式表示)。
NotBefore
证书无效的日期和时间。 对于 1950 年至 2049 年(含)的日期,日期和时间编码为协调世界时 (格林威治平均时间) 格式,格式为 YYMMDDHHMMSS。 此成员使用两位数的年份,精确到秒。 对于 1950 年之前或 2049 年之后的日期,使用编码的通用时间。 编码的通用时间采用 YYYYYMMDDHHMMSSMMM 的形式,使用四位数年份,精确到毫秒。 尽管通用时间支持毫秒分辨率, 但 NotBefore 时间仅精确到秒。
NotAfter
证书无效的日期和时间。 对于 1950 年至 2049 年(含)的日期,日期和时间编码为协调世界时格式,格式为 YYMMDDHHMMSS。 此成员使用两位数的年份,精确到秒。 对于 1950 年之前或 2049 年之后的日期,使用编码的通用时间。 编码的通用时间采用 YYYYYMMDDHHMMSSMMM 的形式,使用四位数年份,精确到毫秒。 尽管通用时间支持毫秒分辨率, 但 NotAfter 时间仅精确到秒。
Subject
证书使用者的编码名称。
SubjectPublicKeyInfo
包含编码公钥及其算法的 CERT_PUBLIC_KEY_INFO 结构。 CERT_PUBLIC_KEY_INFO 结构的 PublicKey 成员将编码的公钥作为CRYPT_BIT_BLOB包含,Algorithm 成员包含编码算法作为CRYPT_ALGORITHM_IDENTIFIER。
IssuerUniqueId
包含颁发者的唯一标识符的 BLOB。
SubjectUniqueId
包含主题的唯一标识符的 BLOB。
cExtension
rgExtension 数组中的元素数。
rgExtension
指向 CERT_EXTENSION 结构的指针数组,其中每个结构都包含有关证书的扩展信息。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |