iOpcSignatureReference 接口 (msopc.h)
表示对已签名或将要签名的 XML 标记的引用。 生成签名时,此引用的 XML 标记在签名标记中序列化。
继承
IOpcSignatureReference 接口继承自 IUnknown 接口。 IOpcSignatureReference 还具有以下类型的成员:
方法
IOpcSignatureReference 接口包含以下方法。
IOpcSignatureReference::GetDigestMethod 获取对引用的 XML 元素使用(对 元素进行签名时)的摘要方法。 |
IOpcSignatureReference::GetDigestValue 获取对元素进行签名时为引用的 XML 元素计算的摘要值。 |
IOpcSignatureReference::GetId 获取引用的标识符。 |
IOpcSignatureReference::GetTransformMethod 获取对引用的 XML 元素使用(对元素进行签名)的规范化方法。 |
IOpcSignatureReference::GetType 获取一个字符串,该字符串指示引用的 XML 元素的类型。 |
IOpcSignatureReference::GetUri 获取引用的 XML 元素的 URI。 |
注解
若要创建 IOpcSignatureReference 接口指针,请调用 IOpcSignatureReferenceSet::Create 方法。 IOpcSignatureReferenceSet::Create 不创建对包特定 Object 元素的引用;生成签名时,会自动创建引用。
若要访问 IOpcSignatureReference 接口指针,请调用 IOpcSignatureReferenceEnumerator::GetCurrent 方法。 IOpcSignatureReferenceEnumerator::GetCurrent 不访问对包特定 Object 元素的引用;调用 IOpcDigitalSignature::GetPackageObjectReference 方法来访问该引用。
接口提供访问有关引用本身和引用的 XML 元素的信息的方法。 引用的元素可以是包特定的 Object 元素、特定于应用程序的 Object 元素或特定于应用程序的 Object 的子元素。
生成签名时,此引用信息将在签名 (签名标记) 的 XML 标记中序列化。 在签名标记中,信息由 Reference 元素表示,该元素的 URI 属性值设置为“#”,后跟被引用元素的 Id 属性值。 例如,如果引用元素的 Id 属性为“Application”,则 Reference 元素的 URI 属性设置为“#Application”,如以下标记所示。
以下签名标记显示了对已签名的特定于应用程序的 Object 元素的序列化引用。
<Signature Id="SignatureId" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
[...]
<Reference URI="#idPackageObject" ...>
[...]
</Reference>
<!-- This reference indicates that the application-specific
Object element was signed when the signature was generated.-->
<Reference URI="#Application" ...>
[...]
</Reference>
</SignedInfo>
[...]
<Object Id="idPackageObject" ...>
[...]
</Object>
<!-- This application-specific <Object> element was signed when the
signature was generated. -->
<Object Id="Application">
[...]
</Object>
</Signature>
以下签名标记显示对特定于应用程序的 Object 元素的已签名子元素的序列化引用。
<Signature Id="SignatureId" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
[...]
<Reference URI="#idPackageObject" ...>
[...]
</Reference>
<!-- This reference indicates that MyElement in the application
-specific Object element was signed when the signature was
generated. -->
<Reference URI="#MyElementId" ...>
[...]
</Reference>
</SignedInfo>
[...]
<Object Id="idPackageObject" ...>
[...]
</Object>
<Object Id="Application">
[...]
<!-- This element is signed. -->
<MyElement Id="MyElementId">
[...]
</MyElement>
[...]
</Object>
</Signature>
要求
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | msopc.h |
请参阅
IOpcSignatureReferenceEnumerator
概述
引用