IX509SignatureInformation::GetSignatureAlgorithm 方法 (certenroll.h)

GetSignatureAlgorithm 方法检索签名算法对象标识符 (OID) 。

语法

HRESULT GetSignatureAlgorithm(
  [in]  VARIANT_BOOL Pkcs7Signature,
  [in]  VARIANT_BOOL SignatureKey,
  [out] IObjectId    **ppValue
);

参数

[in] Pkcs7Signature

一个VARIANT_BOOL变量,指定是使用该算法对 PKCS #7 还是 CMC 证书请求进行签名。

[in] SignatureKey

一个 VARIANT_BOOL 变量,指定当算法 OID 与多个用途关联时,是否首选仅用于签名的算法。 例如,XCN_OID_RSA_RSA (1.2.840.113549.1.1.1) 可用于签名和密钥交换。

[out] ppValue

一个变量的地址,该变量接收指向表示算法 OID 的 IObjectId 接口的指针。

返回值

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

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

返回代码/值 说明
CERTSRV_E_PROPERTY_EMPTY
尚未指定哈希算法 OID 或 NullSigned 属性,但找不到签名算法 OID。
CRYPT_E_UNKNOWN_ALGO
找不到组合签名算法。

注解

此方法搜索与输入参数一致的缓存签名算法。 如果未找到任何值,则 方法使用输入参数以及分配给各种 IX509SignatureInformation 属性的值,如以下列表所示。

要求

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

另请参阅

IX509SignatureInformation