IX509ExtensionKeyUsage::InitializeEncode 方法 (certenroll.h)

InitializeEncode 方法使用 X509KeyUsageFlags 枚举初始化扩展。 此方法已启用 Web。

语法

HRESULT InitializeEncode(
  [in] X509KeyUsageFlags UsageFlags
);

参数

[in] UsageFlags

X509KeyUsageFlags 枚举值。 这可以是以下任一值的按位 OR 组合。

含义
XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE
该密钥与 数字签名算法 (DSA) 一起使用,以支持不可否认性、证书签名或吊销列表签名以外的服务。 DSA 通常用于身份验证。
XCN_CERT_NON_REPUDIATION_KEY_USAGE
密钥用于验证作为不可否认服务的一部分的数字签名,防止签名实体错误拒绝操作。
XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE
密钥用于密钥传输。 也就是说,密钥用于管理从其源点传递到实际使用点的密钥。
XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE
密钥用于加密加密密钥以外的用户数据。
XCN_CERT_KEY_AGREEMENT_KEY_USAGE
密钥用于密钥协议。 密钥协议或密钥交换协议允许两个或更多方协商密钥值,而无需转移密钥,也无需以前建立共享机密。
XCN_CERT_KEY_CERT_SIGN_KEY_USAGE
密钥用于验证证书签名。 此值只能用于 证书颁发机构颁发的证书
XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE
密钥用于验证脱机 证书吊销列表 (CRL) 签名。
XCN_CERT_CRL_SIGN_KEY_USAGE
密钥用于验证 CRL 签名。
XCN_CERT_ENCIPHER_ONLY_KEY_USAGE
密钥用于在执行密钥协议时加密数据。 还必须指定 XCN_CERT_KEY_AGREEMENT_KEY_USAGE 值。
XCN_CERT_DECIPHER_ONLY_KEY_USAGE
密钥用于在执行密钥协议时解密数据。 还必须指定 XCN_CERT_KEY_AGREEMENT_KEY_USAGE 值。

返回值

如果函数成功,该函数将返回 S_OK

如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

返回代码 说明
HRESULT_FROM_WIN32 (ERROR_ALREADY_INITIALIZED)
对象已初始化。

注解

必须先调用 InitializeEncodeInitializeDecode ,然后才能使用 IX509ExtensionKeyUsage 对象。 这两种方法相互补充。 使用 InitializeEncode 方法,可以从原始数据构造可辨别编码规则 (DER) 编码的抽象语法表示法 One (ASN.1) 扩展对象,而 InitializeDecode 方法使您能够初始化已编码对象中的原始数据。

可以检索此扩展的以下属性:

要求

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

另请参阅

IX509ExtensionKeyUsage