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