Interfaz IOpcSignatureReference (msopc.h)
Representa una referencia al marcado XML que se ha firmado o se va a firmar. Este marcado XML al que se hace referencia se serializa en el marcado de firma cuando se genera una firma.
Herencia
La interfaz IOpcSignatureReference hereda de la interfaz IUnknown . IOpcSignatureReference también tiene estos tipos de miembros:
Métodos
La interfaz IOpcSignatureReference tiene estos métodos.
IOpcSignatureReference::GetDigestMethod Obtiene el método digest que se va a usar en el elemento XML al que se hace referencia cuando el elemento está firmado. |
IOpcSignatureReference::GetDigestValue Obtiene el valor de resumen que se calcula para el elemento XML al que se hace referencia cuando el elemento está firmado. |
IOpcSignatureReference::GetId Obtiene el identificador de la referencia. |
IOpcSignatureReference::GetTransformMethod Obtiene el método de canonización que se va a usar en el elemento XML al que se hace referencia cuando el elemento está firmado. |
IOpcSignatureReference::GetType Obtiene una cadena que indica el tipo del elemento XML al que se hace referencia. |
IOpcSignatureReference::GetUri Obtiene el URI del elemento XML al que se hace referencia. |
Comentarios
Para crear un puntero de interfaz IOpcSignatureReference , llame al método IOpcSignatureReferenceSet::Create . IOpcSignatureReferenceSet::Create no crea la referencia al elemento Object específico del paquete; esa referencia se crea automáticamente cuando se genera la firma.
Para acceder a un puntero de interfaz IOpcSignatureReference , llame al método IOpcSignatureReferenceEnumerator::GetCurrent . IOpcSignatureReferenceEnumerator::GetCurrent no tiene acceso a la referencia al elemento Object específico del paquete; llame al método IOpcDigitalSignature::GetPackageObjectReference para tener acceso a esa referencia.
La interfaz proporciona métodos para obtener acceso a información sobre la propia referencia y al elemento XML al que se hace referencia. El elemento al que se hace referencia puede ser el elemento Object específico del paquete, un elemento Object específico de la aplicación o un elemento secundario de un objeto específico de la aplicación.
Cuando se genera una firma, esta información de referencia se serializa en el marcado XML de la firma (marcado de firma). En el marcado de firma, la información se representa mediante un elemento Reference que tiene su valor de atributo URI establecido en "#" seguido del valor de atributo Id del elemento al que se hace referencia. Por ejemplo, si el atributo Id del elemento al que se hace referencia es "Application", el atributo URI del elemento Reference se establece en "#Application", como se muestra en el marcado siguiente.
El marcado de firma siguiente muestra una referencia serializada a un elemento Object firmado específico de la aplicación.
<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>
El marcado de firma siguiente muestra una referencia serializada a un elemento secundario firmado de un elemento Object específico de la aplicación.
<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>
Requisitos
Cliente mínimo compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | msopc.h |
Consulte también
Interfaces de empaquetado principal
Información general sobre firmas digitales
Introducción con la API de empaquetado
IOpcSignatureReferenceEnumerator
Temas de introducción
Guía de programación de API de empaquetado
Referencia de API de empaquetado
Ejemplos de API de empaquetado
Empaquetado de interfaces de firma digital
Referencia