IOpcSignatureReferenceSet::Create 方法 (msopc.h)

创建一个 IOpcSignatureReference 接口指针,该指针表示对要签名的 XML 元素的引用。

语法

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

参数

[in] referenceUri

引用的 XML 元素的 URI。

将此参数的值设置为一个 URI,该 URI 表示“#”,后跟引用元素的 Id 属性值:“#<elementIdValue>”。

有关示例,请参阅备注部分。

[in] referenceId

Reference 元素的 Id 属性,表示签名标记中的引用。 若要省略 Id 属性,请将此参数值设置为 NULL

[in] type

Reference 元素的 Type 属性,表示签名标记中的引用。 若要省略 Type 属性,请将此参数值设置为 NULL

[in] digestMethod

要用于引用的 XML 标记的摘要方法。 若要使用默认摘要方法,请将此参数值设置为 NULL

重要在调用 IOpcDigitalSignatureManager::Sign 之前,必须通过调用 IOpcSigningOptions::SetDefaultDigestMethod 方法来设置默认摘要方法。
 

[in] transformMethod

要用于引用的 XML 标记的规范化方法。

[out, retval] reference

一个新的 IOpcSignatureReference 接口指针,表示对要签名的 XML 元素的引用。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码/值 说明
S_OK
方法成功。
E_INVALIDARG
transformMethod 参数中传递的值不是有效的OPC_CANONICALIZATION_METHOD枚举值。
E_POINTER
referenceUri 参数为 NULL
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
签名的 Reference 元素对包 Object 的保留 URI 属性值将用作对自定义 Object 元素的引用URI 属性值。

注解

此方法创建对生成签名时签名的 XML 元素的引用。 引用的元素可以是特定于应用程序的 Object 元素,也可以是特定于应用程序的 Object 的子 元素

若要引用 XML 元素进行签名,请将 referenceUri 参数值设置为表示“#”的 URI,后跟引用元素的 Id 属性值,如下表所示。

referenceUri 值作为字符串 Referenced 元素 元素 说明
“#idMyCustomObject “<Object Id=”idMyCustomObject“>...</Object>” 特定于应用程序的 Object 元素。
“#idMyElement “<Object><MyElement Id=”idMyElement“>...</MyElement>...</Object>” 特定于应用程序的 对象的子元素。
 

此方法不会创建对要签名的包特定 Object 元素的引用;生成签名时会自动创建该引用。

创建 IOpcSignatureReference 接口指针并将其添加到集时,保存包时会保存它表示的引用。

线程安全性

打包对象不是线程安全的。

有关详细信息,请参阅打包 API 的入门

要求

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

另请参阅

核心打包接口

使用打包 API 入门

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

OPC_CANONICALIZATION_METHOD

概述

打包 API 编程指南

打包 API 参考

打包 API 示例

打包数字签名接口

打包接口

引用