AlgorithmOperationFlags 枚举 (certenroll.h)

AlgorithmOperationFlags 枚举类型指定算法可以执行的操作。 此枚举在以下接口中用于检索加密提供程序的操作功能或基于这些功能的状态信息。

标志的二进制格式如下所示。

XCN_NCRYPT_NO_OPERATION                     = 00000000 00000000 00000000
XCN_NCRYPT_CIPHER_OPERATION                 = 00000000 00000000 00000001
XCN_NCRYPT_HASH_OPERATION                   = 00000000 00000000 00000010

XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION  = 00000000 00000000 00000100
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION       = 00000000 00000000 00001000
XCN_NCRYPT_SIGNATURE_OPERATION              = 00000000 00000000 00010000
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION         = 00000000 00000000 00011100

XCN_NCRYPT_RNG_OPERATION                    = 00000000 00000000 00100000

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION  = 00100000 00000000 00000000
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION   = 01000000 00000000 00000000
XCN_NCRYPT_EXACT_MATCH_OPERATION            = 10000000 00000000 00000000
XCN_NCRYPT_PREFERENCE_MASK_OPERATION        = 11100000 00000000 00000000

语法

typedef enum AlgorithmOperationFlags {
  XCN_NCRYPT_NO_OPERATION = 0,
  XCN_NCRYPT_CIPHER_OPERATION = 0x1,
  XCN_NCRYPT_HASH_OPERATION = 0x2,
  XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION = 0x4,
  XCN_NCRYPT_SECRET_AGREEMENT_OPERATION = 0x8,
  XCN_NCRYPT_SIGNATURE_OPERATION = 0x10,
  XCN_NCRYPT_RNG_OPERATION = 0x20,
  XCN_NCRYPT_KEY_DERIVATION_OPERATION = 0x40,
  XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION,
  XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION = 0x200000,
  XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION = 0x400000,
  XCN_NCRYPT_EXACT_MATCH_OPERATION = 0x800000,
  XCN_NCRYPT_PREFERENCE_MASK_OPERATION = 0xe00000
} ;

常量

 
XCN_NCRYPT_NO_OPERATION
值: 0
未指定任何操作。
XCN_NCRYPT_CIPHER_OPERATION
值: 0x1
该算法可用于 对称加密。 这包括 RC2RC4数据加密标准 (DES) 、3DED 和 AES 算法。
XCN_NCRYPT_HASH_OPERATION
值: 0x2
该算法可用于哈希。 这包括 MD2MD4、SHA1、SHA256、SHA384、SHA512 MAC 和 基于哈希的消息身份验证代码 (HMAC) 哈希算法
XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
值: 0x4
该算法可用于 公钥 加密。 这包括 RSA
XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
值: 0x8
该算法可用于密钥交换。 这包括 Diffie-Hellman 算法 和 ECDH 算法。
XCN_NCRYPT_SIGNATURE_OPERATION
值: 0x10
该算法可用于签名。 这包括 RSA 算法、 数字签名算法 (DSA) 和 ECDSA 算法。
XCN_NCRYPT_RNG_OPERATION
值: 0x20
该算法可用于生成随机数。
XCN_NCRYPT_KEY_DERIVATION_OPERATION
值: 0x40
XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION
该算法可用于公钥加密、密钥交换和签名。 这是按位 以下常量的组合:


  • XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

  • XCN_NCRYPT_SECRET_AGREEMENT_OPERATION

  • XCN_NCRYPT_SIGNATURE_OPERATION

XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
值: 0x200000
签名算法是首选算法,但不是必需的。 可以改为选择加密算法。 搜索 加密服务提供程序 (CSP) 基于支持的操作功能的状态信息时,使用此方法。
XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
值: 0x400000
加密算法 ((例如,由 XCN_NCRYPT_ANY_ASYMMETRIC_OPERATIONXCN_NCRYPT_SECRET_AGREEMENT_OPERATION 标志) 标识的算法是首选的,但不是必需的。 可以改为选择签名算法。 在基于支持的运营功能搜索 CSP 状态信息时,会使用此功能。
XCN_NCRYPT_EXACT_MATCH_OPERATION
值: 0x800000
仅选择与指定操作完全匹配的算法。
XCN_NCRYPT_PREFERENCE_MASK_OPERATION
值: 0xe00000
使用 来屏蔽算法操作首选项。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
标头 certenroll.h

另请参阅

AlgorithmType

CertEnroll 枚举

CertEnroll 接口