加密结构
加密函数使用以下结构。 加密结构根据用法进行分类,如下所示:
CryptXML 结构
CryptXML 函数使用以下结构。
常规加密结构
基本加密函数使用以下结构。
常见证书结构
许多证书函数都使用以下结构。
X.509 证书扩展结构
以下结构与 X.509 CERT_EXTENSION 结构相关联。
可以使用 CryptEncodeObject 和 CryptEncodeObjectEx 函数将这些结构编码为 CERT_EXTENSION 结构的 Value 成员。 当解码CERT_EXTENSION结构的Value 成员时,它们由 CryptDecodeObject 和 CryptDecodeObjectEx 函数创建并返回。
编码或创建的结构取决于CERT_EXTENSION结构的 pszObjId 字符串成员。
下表显示了当前扩展预定义常量和 OID 以及与每个参数关联的结构。
注意
可以互换使用 (列 1) 的预定义常量及其对应的 OID (列 2) 。
预定义常量 | 对象标识符 (OID) | 数据结构 |
---|---|---|
X509_AUTHORITY_INFO_ACCESS | szOID_AUTHORITY_INFO_ACCESS | CERT_AUTHORITY_INFO_ACCESS |
X509_AUTHORITY_KEY_ID | szOID_AUTHORITY_KEY_IDENTIFIER | CERT_AUTHORITY_KEY_ID_INFO |
X509_ALTERNATE_NAME | szOID_SUBJECT_ALT_NAME – 或 – szOID_ISSUER_ALT_NAME |
CERT_ALT_NAME_INFO |
X509_BASIC_CONSTRAINTS | szOID_BASIC_CONSTRAINTS | CERT_BASIC_CONSTRAINTS_INFO |
X509_BASIC_CONSTRAINTS2 | szOID_BASIC_CONSTRAINTS2 | CERT_BASIC_CONSTRAINTS2_INFO |
X509_CERT_POLICIES | szOID_CERT_POLICIES | CERT_POLICIES_INFO |
X509_KEY_ATTRIBUTES | szOID_KEY_ATTRIBUTES | CERT_KEY_ATTRIBUTES_INFO |
X509_KEY_USAGE | szOID_KEY_USAGE | CRYPT_BIT_BLOB |
X509_KEY_USAGE_RESTRICTION | szOID_KEY_USAGE_RESTRICTION | CERT_KEY_USAGE_RESTRICTION_INFO |
无 | szOID_POLICY_MAPPINGS | 未实现 |
无 | szOID_SUBJECT_DIR_ATTRS | 未实现 |
消息结构
加密消息函数使用以下结构。
OID 支持结构
OID 支持函数使用以下结构。
结构 | 说明 |
---|---|
CRYPT_OID_FUNC_ENTRY | 包含对象 标识符 (OID) 和指向其相关函数的指针。 它与 CryptInstallOIDFunctionAddress 一起使用 |
CRYPT_OID_INFO | 包含有关对象 标识符 的信息 (OID) 。 |
CRYPT_RC2_CBC_PARAMETERS | 包含用于szOID_RSA_RC2CBC加密的信息。 |
CRYPT_SMIME_CAPABILITIES | 包含受支持功能的优先数组。 |
CRYPT_SMIME_CAPABILITY | 指定单个功能及其关联的参数。 |
证书链结构
以下结构用于生成用于在证书中建立信任的证书链。
CSP 结构
以下结构用于 加密服务提供程序 (CSP) 函数。
结构 | 说明 |
---|---|
BLOBHEADER | 指示密钥的 BLOB 类型和密钥使用的算法。 |
VTableProvStruc | 包含指向 CSP 函数可以使用的回调函数的指针。 |
PLAINTEXTKEYBLOB | 包含纯文本键的参数标头信息。 |
WinTrust 结构
以下结构与 WinVerifyTrust 函数一起使用。
结构 | 说明 |
---|---|
CRYPT_PROVIDER_DEFUSAGE | 由 WintrustGetDefaultForUsage 函数用于检索提供程序默认用法的回调信息。 |
CRYPT_PROVIDER_REGDEFUSAGE | 由 WintrustAddDefaultForUsage 函数用于注册有关提供程序的默认使用情况的回调信息。 |
SPC_INDIRECT_DATA_CONTENT | 存储 Authenticode 签名文件的摘要和其他属性。 |
WINTRUST_BLOB_INFO | 在调用 WinVerifyTrust 以验证内存 BLOB 时使用。 |
WINTRUST_CATALOG_INFO | 在调用 WinVerifyTrust 以验证 Microsoft 目录的成员时使用。 |
WINTRUST_CERT_INFO | 在调用 WinVerifyTrust 以验证 CERT_CONTEXT时使用。 |
WINTRUST_DATA | 在调用 WinVerifyTrust 以将必要信息传递到信任提供程序时使用 |
WINTRUST_FILE_INFO | 在调用 WinVerifyTrust 以验证单个文件时使用。 |
WINTRUST_SGNR_INFO | 在调用 WinVerifyTrust 以验证 CMSG_SIGNER_INFO 结构时使用。 |
SIP 结构
使用者 接口包 (SIPP 函数使用以下结构。
结构 | 说明 |
---|---|
SIP_ADD_NEWPROVIDER | 定义 SIP。 |
SIP_CAP_SET | 定义 SIP 的功能。 |
SIP_DISPATCH_INFO | 包含一组指向 SIP 函数的指针。 |
SIP_INDIRECT_DATA | 包含经过哈希处理的主题信息的摘要。 |
SIP_SUBJECTINFO | 指定 SIP 使用者信息。 |