Interfaccia IOpcSignatureReference (msopc.h)

Rappresenta un riferimento al markup XML che è stato o verrà firmato. Questo markup XML a cui si fa riferimento viene serializzato nel markup della firma quando viene generata una firma.

Ereditarietà

L'interfaccia IOpcSignatureReference eredita dall'interfaccia IUnknown . IOpcSignatureReference include anche questi tipi di membri:

Metodi

L'interfaccia IOpcSignatureReference include questi metodi.

 
IOpcSignatureReference::GetDigestMethod

Ottiene il metodo digest da utilizzare sull'elemento XML a cui si fa riferimento, quando l'elemento è firmato.
IOpcSignatureReference::GetDigestValue

Ottiene il valore digest calcolato per l'elemento XML a cui si fa riferimento quando l'elemento è firmato.
IOpcSignatureReference::GetId

Ottiene l'identificatore per il riferimento.
IOpcSignatureReference::GetTransformMethod

Ottiene il metodo di canonizzazione da utilizzare sull'elemento XML a cui si fa riferimento, quando l'elemento è firmato.
IOpcSignatureReference::GetType

Ottiene una stringa che indica il tipo dell'elemento XML a cui si fa riferimento.
IOpcSignatureReference::GetUri

Ottiene l'URI dell'elemento XML a cui si fa riferimento.

Commenti

Per creare un puntatore all'interfaccia IOpcSignatureReference , chiamare il metodo IOpcSignatureReferenceSet::Create . IOpcSignatureReferenceSet::Create non crea il riferimento all'elemento Object specifico del pacchetto; tale riferimento viene creato automaticamente quando viene generata la firma.

Per accedere a un puntatore all'interfaccia IOpcSignatureReference , chiamare il metodo IOpcSignatureReferenceEnumerator::GetCurrent . IOpcSignatureReferenceEnumerator::GetCurrent non accede al riferimento all'elemento Object specifico del pacchetto; chiamare il metodo IOpcDigitalSignature::GetPackageObjectReference per accedere a tale riferimento.

L'interfaccia fornisce metodi per accedere alle informazioni sul riferimento stesso e all'elemento XML di riferimento. L'elemento a cui si fa riferimento può essere l'elemento Object specifico del pacchetto, un elemento Object specifico dell'applicazione o un elemento figlio di un oggetto specifico dell'applicazione.

Quando viene generata una firma, queste informazioni di riferimento vengono serializzate nel markup XML della firma (markup della firma). Nel markup della firma, le informazioni sono rappresentate da un elemento Reference con il relativo valore dell'attributo URI impostato su "#" seguito dal valore dell'attributo Id dell'elemento a cui si fa riferimento. Ad esempio, se l'attributo Id dell'elemento a cui si fa riferimento è "Application", l'attributo URI dell'elemento Reference è impostato su "#Application", come illustrato nel markup seguente.

Il markup della firma seguente mostra un riferimento serializzato a un elemento Object specifico dell'applicazione firmato.

<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>

Il markup della firma seguente mostra un riferimento serializzato a un elemento figlio firmato di un elemento Object specifico dell'applicazione.

Nota È possibile fare riferimento a più elementi figlio di un oggetto specifico dell'applicazione per la firma.

 
<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>

Requisiti

   
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione msopc.h

Vedi anche

Interfacce di creazione di pacchetti principali

Panoramica delle firme digitali

Introduzione con l'API per la creazione di pacchetti

IOpcDigitalSignature

IOpcSignatureReferenceEnumerator

IOpcSignatureReferenceSet

OPC_CANONICALIZATION_METHOD

Cenni preliminari

Guida alla programmazione dell'API per la creazione di pacchetti

Informazioni di riferimento sulle API per la creazione di pacchetti

Esempi di API per la creazione di pacchetti

Creazione di pacchetti di interfacce di firma digitale

Interfacce di creazione di pacchetti

Riferimento