cryptXmlCreateReference 函数 (cryptxml.h)

CryptXmlCreateReference 函数创建对 XML 签名的引用。

语法

HRESULT CryptXmlCreateReference(
  [in]           HCRYPTXML                 hCryptXml,
                 DWORD                     dwFlags,
  [in, optional] LPCWSTR                   wszId,
  [in, optional] LPCWSTR                   wszURI,
  [in, optional] LPCWSTR                   wszType,
  [in]           const CRYPT_XML_ALGORITHM *pDigestMethod,
                 ULONG                     cTransform,
  [in]           const CRYPT_XML_ALGORITHM *rgTransform,
  [out]          HCRYPTXML                 *phReference
);

参数

[in] hCryptXml

XML 签名的句柄。

dwFlags

指定影响引用的创建方式的标志。

下表显示了当前定义的 dwFlags 值。

含义
CRYPT_XML_FLAG_CREATE_REFERENCE_AS_OBJECT
0x00000001
设置此标志以创建 对象 节点并将其添加到 Signature 元素。 在 SignedInfo 元素中创建对 Object 节点的引用。

返回的句柄是封装 的对象 节点,可用于后续调用 CryptXmlCreateReference 函数,以在 清单 节点中创建引用。

[in, optional] wszId

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含签名 的 Reference 元素的 ID 属性值。 如果此参数为 NULL,则不创建 ID 属性。 如果此参数为空字符串,则创建具有空值的 ID 属性。

[in, optional] wszURI

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含签名 的 Reference 元素的 URI 属性的值。 如果此参数为空字符串,则会创建具有空值的 URI 属性。

[in, optional] wszType

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含签名 的 Reference 元素的 Type 属性的值。 处理引擎不会检查或使用此属性。

[in] pDigestMethod

指向包含摘要方法 的CRYPT_XML_ALGORITHM 结构的指针。

cTransform

rgTransform 参数指向的数组中的元素数。

[in] rgTransform

指向 CRYPT_XML_ALGORITHM 结构的有序数组的指针,这些结构包含将在摘要计算之前应用于引用数据的转换算法。

[out] phReference

指向引用句柄的指针。

返回值

如果函数成功,则函数返回零。

如果函数失败,它将返回指示错误的 HRESULT 值。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 cryptxml.h
Library Cryptxml.lib
DLL Cryptxml.dll