在 Windows 操作系统的 CertEnroll.h 头文件中,X509KeyUsageFlags 枚举用于指定密钥用法的标志。以下是该枚举的定义:
typedef enum X509KeyUsageFlags {
    XCN_CERT_KEY_USAGE_UNKNOWN = 0,
    XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80,
    XCN_CERT_NON_REPUDIATION_KEY_USAGE = 0x40,
    XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20,
    XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10,
    XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 0x8,
    XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 0x4,
    XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 0x2,
    XCN_CERT_CRL_SIGN_KEY_USAGE = 0x2,
    XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 0x1,
    XCN_CERT_DECIPHER_ONLY_KEY_USAGE = 0x8000
} X509KeyUsageFlags;

这个枚举包含了一些标志,用于指定密钥的用法。以下是这些标志的含义:

1. XCN_CERT_KEY_USAGE_UNKNOWN:表示未知的密钥用法。
2. XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE:数字签名。
3. XCN_CERT_NON_REPUDIATION_KEY_USAGE:非否认。
4. XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE:密钥加密。
5. XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE:数据加密。
6. XCN_CERT_KEY_AGREEMENT_KEY_USAGE:密钥协商。
7. XCN_CERT_KEY_CERT_SIGN_KEY_USAGE:证书签名。
8. XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE:离线证书吊销列表签名。
9. XCN_CERT_CRL_SIGN_KEY_USAGE:证书吊销列表签名。
10. XCN_CERT_ENCIPHER_ONLY_KEY_USAGE:仅加密。
11. XCN_CERT_DECIPHER_ONLY_KEY_USAGE:仅解密。

这些标志用于在处理证书相关的操作时,指定证书密钥的用途。


转载请注明出处:http://www.zyzy.cn/article/detail/24172/Win32 API/Certenroll.h/X509KeyUsageFlags