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 usare nell'elemento XML a cui si fa riferimento, quando l'elemento viene firmato.
IOpcSignatureReference::GetDigestValue

Ottiene il valore del digest calcolato per l'elemento XML a cui viene fatto riferimento quando l'elemento viene firmato.
IOpcSignatureReference::GetId

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

Ottiene il metodo di canonizzazione da usare nell'elemento XML a cui si fa riferimento, quando l'elemento viene 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 dell'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 dell'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 relative al riferimento stesso e all'elemento XML a cui si fa 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 valore dell'attributo URI impostato su "#" seguito dal valore dell'attributo Id dell'elemento a cui viene fatto 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 Creazione 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 di creazione di pacchetti

Creazione di interfacce di firma digitale per la creazione di pacchetti

Interfacce di creazione pacchetti

Riferimento