Interface IOpcSignatureReference (msopc.h)
Représente une référence au balisage XML qui a été ou sera signé. Ce balisage XML référencé est sérialisé dans le balisage de signature lorsqu’une signature est générée.
Héritage
L’interface IOpcSignatureReference hérite de l’interface IUnknown. IOpcSignatureReference a également les types de membres suivants :
Méthodes
L’interface IOpcSignatureReference a ces méthodes.
IOpcSignatureReference::GetDigestMethod Obtient la méthode digest à utiliser sur l’élément XML référencé, lorsque l’élément est signé. |
IOpcSignatureReference::GetDigestValue Obtient la valeur digest calculée pour l’élément XML référencé lors de la signature de l’élément. |
IOpcSignatureReference::GetId Obtient l’identificateur de la référence. |
IOpcSignatureReference::GetTransformMethod Obtient la méthode de canonisation à utiliser sur l’élément XML référencé, lorsque l’élément est signé. |
IOpcSignatureReference::GetType Obtient une chaîne qui indique le type de l’élément XML référencé. |
IOpcSignatureReference::GetUri Obtient l’URI de l’élément XML référencé. |
Notes
Pour créer un pointeur d’interface IOpcSignatureReference , appelez la méthode IOpcSignatureReferenceSet::Create . IOpcSignatureReferenceSet::Create ne crée pas la référence à l’élément Object spécifique au package ; cette référence est créée automatiquement lorsque la signature est générée.
Pour accéder à un pointeur d’interface IOpcSignatureReference , appelez la méthode IOpcSignatureReferenceEnumerator::GetCurrent . IOpcSignatureReferenceEnumerator::GetCurrent n’accède pas à la référence à l’élément Object spécifique au package ; appelez la méthode IOpcDigitalSignature::GetPackageObjectReference pour accéder à cette référence.
L’interface fournit des méthodes permettant d’accéder aux informations sur la référence elle-même et l’élément XML référencé. L’élément référencé peut être l’élément Object spécifique au package, un élément Object spécifique à l’application ou un élément enfant d’un objet spécifique à l’application.
Lorsqu’une signature est générée, ces informations de référence sont sérialisées dans le balisage XML de la signature (balisage de signature). Dans le balisage de signature, les informations sont représentées par un élément Reference dont la valeur d’attribut URI est définie sur « # », suivie de la valeur d’attribut Id de l’élément référencé. Par exemple, si l’attribut Id de l’élément référencé est « Application », l’attribut URI de l’élément Reference est défini sur « #Application », comme indiqué dans le balisage suivant.
Le balisage de signature suivant montre une référence sérialisée à un élément Object signé spécifique à l’application.
<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>
Le balisage de signature suivant montre une référence sérialisée à un élément enfant signé d’un élément Object spécifique à l’application.
<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>
Spécifications
Client minimal pris en charge | Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | msopc.h |
Voir aussi
Principales interfaces d’empaquetage
Vue d’ensemble des signatures numériques
Prise en main avec l’API d’empaquetage
IOpcSignatureReferenceEnumerator
Vues d'ensemble
Guide de programmation de l’API d’empaquetage
Informations de référence sur l’API d’empaque
Empaquetage des interfaces de signature numérique
Référence