Интерфейс 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 Возвращает универсальный код ресурса (URI) элемента XML, на который ссылается ссылка. |
Комментарии
Чтобы создать указатель интерфейса IOpcSignatureReference , вызовите метод IOpcSignatureReferenceSet::Create . IOpcSignatureReferenceSet::Create не создает ссылку на элемент Object для конкретного пакета; ссылка создается автоматически при создании сигнатуры.
Чтобы получить доступ к указателю интерфейса IOpcSignatureReference , вызовите метод IOpcSignatureReferenceEnumerator::GetCurrent . IOpcSignatureReferenceEnumerator::GetCurrent не обращается к ссылке на элемент Object , относящийся к пакету; вызовите метод IOpcDigitalSignature::GetPackageObjectReference для доступа к этой ссылке.
Интерфейс предоставляет методы для доступа к сведениям о самой ссылке и элементе XML, на который ссылается ссылка. Элемент, на который указывает ссылка, может быть элементом Object для конкретного пакета, элементом Object для конкретного приложения или дочерним элементом объекта приложения.
При создании сигнатуры эти справочные сведения сериализуются в XML-разметке подписи (разметка подписи). В разметке сигнатуры сведения представлены элементом Reference , для которого значение атрибута URI равно "#", за которым следует значение атрибута Id элемента, на который указывает ссылка. Например, если атрибут Id элемента, на который указывает ссылка, имеет значение Application, для атрибута URI элемента Reference устанавливается значение "#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 |
Header | msopc.h |
См. также раздел
Общие сведения о цифровых подписях
начало работы с помощью API упаковки
IOpcSignatureReferenceEnumerator
Разделы общих сведений
Руководство по программированию API упаковки
Упаковка интерфейсов цифровой подписи
Справочные материалы