ALG_ID
ALG_ID数据类型指定算法标识符。 此数据类型的参数将传递给 CryptoAPI 中的大多数函数。
typedef unsigned int ALG_ID;
下表列出了当前定义的算法标识符。 自定义 加密服务提供程序 的作者 (CSP) 可以定义新值。 此外,自定义 CSP 用于关键规范AT_KEYEXCHANGE和AT_SIGNATURE ALG_ID依赖于提供程序。 当前映射紧随表。
标识符 | 值 | 说明 |
---|---|---|
CALG_3DES | 0x00006603 | 三重 DES 加密算法。 |
CALG_3DES_112 | 0x00006609 | 有效密钥长度等于 112 位的双密钥 三重 DES 加密。 |
CALG_AES | 0x00006611 | 高级加密标准 (AES) 。 Microsoft AES 加密提供程序支持此算法。 |
CALG_AES_128 | 0x0000660e | 128 位 AES。 Microsoft AES 加密提供程序支持此算法。 |
CALG_AES_192 | 0x0000660f | 192 位 AES。 Microsoft AES 加密提供程序支持此算法。 |
CALG_AES_256 | 0x00006610 | 256 位 AES。 Microsoft AES 加密提供程序支持此算法。 |
CALG_AGREEDKEY_ANY | 0x0000aa03 | Diffie-Hellman-同意密钥句柄的临时算法标识符。 |
CALG_CYLINK_MEK | 0x0000660c | 一种算法,用于创建具有奇偶校验位和零键位的 40 位 DES 密钥,使其密钥长度为 64 位。 Microsoft 基本加密提供程序支持此算法。 |
CALG_DES | 0x00006601 | DES 加密算法。 |
CALG_DESX | 0x00006604 | DESX 加密算法。 |
CALG_DH_EPHEM | 0x0000aa02 | Diffie-Hellman 临时密钥交换算法。 |
CALG_DH_SF | 0x0000aa01 | Diffie-Hellman 存储和转发密钥交换算法。 |
CALG_DSS_SIGN | 0x00002200 | DSA 公钥 签名算法。 |
CALG_ECDH | 0x0000aa05 | 椭圆曲线 Diffie-Hellman 密钥交换算法。
注意: 仅通过 加密 API(下一代)支持此算法。 Windows Server 2003 和 Windows XP: 不支持此算法。 |
CALG_ECDH_EPHEM | 0x0000ae06 | 临时椭圆曲线 Diffie-Hellman 密钥交换算法。
注意: 仅通过 加密 API(下一代)支持此算法。 Windows Server 2003 和 Windows XP: 不支持此算法。 |
CALG_ECDSA | 0x00002203 | 椭圆曲线数字签名算法。
注意: 仅通过 加密 API(下一代)支持此算法。 Windows Server 2003 和 Windows XP: 不支持此算法。 |
CALG_ECMQV | 0x0000a001 | 椭圆曲线 Menezes、Qu 和 Vanstone (MQV) 密钥交换算法。 不支持此算法。 |
CALG_HASH_REPLACE_OWF | 0x0000800b | 单向函数哈希算法。 |
CALG_HUGHES_MD5 | 0x0000a003 | 休斯 MD5 哈希算法。 |
CALG_HMAC | 0x00008009 | HMAC 键控哈希算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_KEA_KEYX | 0x0000aa04 | KEA 密钥交换算法 (FORTEZZA) 。 不支持此算法。 |
CALG_MAC | 0x00008005 | MAC 键控哈希算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_MD2 | 0x00008001 | MD2 哈希算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_MD4 | 0x00008002 | MD4 哈希算法。 |
CALG_MD5 | 0x00008003 | MD5 哈希算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_NO_SIGN | 0x00002000 | 无签名算法。 |
CALG_OID_INFO_CNG_ONLY | 0xffffffff | 该算法仅在 CNG 中实现。 宏(IS_SPECIAL_OID_INFO_ALGID)可用于确定是否仅使用 CNG 函数支持加密算法。 |
CALG_OID_INFO_PARAMETERS | 0xfffffffe | 算法在编码参数中定义。 只有使用 CNG 才支持该算法。 宏(IS_SPECIAL_OID_INFO_ALGID)可用于确定是否仅使用 CNG 函数支持加密算法。 |
CALG_PCT1_MASTER | 0x00004c04 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_RC2 | 0x00006602 | RC2 块加密算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_RC4 | 0x00006801 | RC4 流加密算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_RC5 | 0x0000660d | RC5 块加密算法。 |
CALG_RSA_KEYX | 0x0000a400 | RSA 公钥交换算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_RSA_SIGN | 0x00002400 | RSA 公钥签名算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_SCHANNEL_ENC_KEY | 0x00004c07 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_SCHANNEL_MAC_KEY | 0x00004c03 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_SCHANNEL_MASTER_HASH | 0x00004c02 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_SEAL | 0x00006802 | SEAL 加密算法。 不支持此算法。 |
CALG_SHA | 0x00008004 | SHA 哈希算法。 Microsoft 基本加密提供程序支持此算法。 |
CALG_SHA1 | 0x00008004 | 与 CALG_SHA 相同。 Microsoft 基本加密提供程序支持此算法。 |
CALG_SHA_256 | 0x0000800c | 256 位 SHA 哈希算法。 Microsoft 增强型 RSA 和 AES 加密提供程序支持此算法。Windows XP SP3: Microsoft 增强型 RSA 和 AES 加密提供程序 (原型) 支持此算法。 具有 SP2 的 Windows XP、具有 SP1 和 Windows XP 的 Windows XP: 不支持此算法。 |
CALG_SHA_384 | 0x0000800d | 384 位 SHA 哈希算法。 Microsoft 增强型 RSA 和 AES 加密提供程序支持此算法。Windows XP SP3: Microsoft 增强型 RSA 和 AES 加密提供程序 (原型) 支持此算法。 具有 SP2 的 Windows XP、具有 SP1 和 Windows XP 的 Windows XP: 不支持此算法。 |
CALG_SHA_512 | 0x0000800e | 512 位 SHA 哈希算法。 Microsoft 增强型 RSA 和 AES 加密提供程序支持此算法。Windows XP SP3: Microsoft 增强型 RSA 和 AES 加密提供程序 (原型) 支持此算法。 具有 SP2 的 Windows XP、具有 SP1 和 Windows XP 的 Windows XP: 不支持此算法。 |
CALG_SKIPJACK | 0x0000660a | SKIPjack 块加密算法 (FORTEZZA) 。 不支持此算法。 |
CALG_SSL2_MASTER | 0x00004c05 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_SSL3_MASTER | 0x00004c01 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_SSL3_SHAMD5 | 0x00008008 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_TEK | 0x0000660b | TEK (FORTEZZA) . 不支持此算法。 |
CALG_TLS1_MASTER | 0x00004c06 | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
CALG_TLS1PRF | 0x0000800a | 由 Schannel.dll 操作系统使用。 应用程序不应使用此 ALG_ID 。 |
对于 Microsoft 基本加密提供程序、Microsoft 强加密提供程序和 Microsoft 增强型加密提供程序,用于密钥规范AT_KEYEXCHANGE和AT_SIGNATURE的ALG_IDs如下所示:
- CALG_RSA_KEYX 用于 AT_KEYEXCHANGE。
- CALG_RSA_SIGN 用于 AT_SIGNATURE。
对于 Microsoft Base DSS 和 Diffie-Hellman 加密提供程序,用于密钥规范AT_KEYEXCHANGE和AT_SIGNATURE的ALG_IDs如下所示:
- CALG_DH_SF 用于 AT_KEYEXCHANGE。
- CALG_DSS_SIGN 用于 AT_SIGNATURE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|
请参阅