Share via


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.

Note Plusieurs éléments enfants d’un objet spécifique à l’application peuvent être référencés pour la signature.

 
<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

IOpcDigitalSignature

IOpcSignatureReferenceEnumerator

IOpcSignatureReferenceSet

OPC_CANONICALIZATION_METHOD

Vues d'ensemble

Guide de programmation de l’API d’empaquetage

Informations de référence sur l’API d’empaque

Exemples d’API d’empaquetage

Empaquetage des interfaces de signature numérique

Interfaces d’empaquetage

Référence