Compartir a través de


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.

Nota Se puede hacer referencia a más de un elemento secundario de un objeto específico de la aplicación para firmar.

 
<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

IOpcDigitalSignature

IOpcSignatureReferenceEnumerator

IOpcSignatureReferenceSet

OPC_CANONICALIZATION_METHOD

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

Interfaces de empaquetado

Referencia