Compartilhar via


Interface IOpcSignatureReference (msopc.h)

Representa uma referência à marcação XML que foi ou será assinada. Essa marcação XML referenciada é serializada na marcação de assinatura quando uma assinatura é gerada.

Herança

A interface IOpcSignatureReference herda da interface IUnknown . IOpcSignatureReference também tem estes tipos de membros:

Métodos

A interface IOpcSignatureReference tem esses métodos.

 
IOpcSignatureReference::GetDigestMethod

Obtém o método digest a ser usado no elemento XML referenciado, quando o elemento é assinado.
IOpcSignatureReference::GetDigestValue

Obtém o valor de resumo calculado para o elemento XML referenciado quando o elemento é assinado.
IOpcSignatureReference::GetId

Obtém o identificador da referência.
IOpcSignatureReference::GetTransformMethod

Obtém o método de canonicalização a ser usado no elemento XML referenciado, quando o elemento é assinado.
IOpcSignatureReference::GetType

Obtém uma cadeia de caracteres que indica o tipo do elemento XML referenciado.
IOpcSignatureReference::GetUri

Obtém o URI do elemento XML referenciado.

Comentários

Para criar um ponteiro de interface IOpcSignatureReference , chame o método IOpcSignatureReferenceSet::Create . IOpcSignatureReferenceSet::Create não cria a referência ao elemento Object específico do pacote; essa referência é criada automaticamente quando a assinatura é gerada.

Para acessar um ponteiro de interface IOpcSignatureReference , chame o método IOpcSignatureReferenceEnumerator::GetCurrent . IOpcSignatureReferenceEnumerator::GetCurrent não acessa a referência ao elemento Object específico do pacote; chame o método IOpcDigitalSignature::GetPackageObjectReference para acessar essa referência.

A interface fornece métodos para acessar informações sobre a própria referência e o elemento XML referenciado. O elemento referenciado pode ser o elemento Object específico do pacote, um elemento Object específico do aplicativo ou um elemento filho de um Objeto específico do aplicativo.

Quando uma assinatura é gerada, essas informações de referência são serializadas na marcação XML da assinatura (marcação de assinatura). Na marcação de assinatura, as informações são representadas por um elemento Reference que tem seu valor de atributo URI definido como "#" seguido pelo valor do atributo Id do elemento referenciado. Por exemplo, se o atributo Id do elemento referenciado for "Application", o atributo URI do elemento Reference será definido como "#Application", conforme mostrado na marcação a seguir.

A marcação de assinatura a seguir mostra uma referência serializada a um elemento Object assinado e específico do aplicativo.

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

A marcação de assinatura a seguir mostra uma referência serializada a um elemento filho assinado de um elemento Object específico do aplicativo.

Nota Mais de um elemento filho de um Objeto específico do aplicativo pode ser referenciado para assinatura.

 
<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 com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho msopc.h

Confira também

Interfaces de empacotamento principais

Visão geral de assinaturas digitais

Introdução com a API de Empacotamento

IOpcDigitalSignature

IOpcSignatureReferenceEnumerator

IOpcSignatureReferenceSet

OPC_CANONICALIZATION_METHOD

Visões gerais

Guia de programação da API de empacotamento

Referência da API de empacotamento

Exemplos de API de empacotamento

Empacotando interfaces de assinatura digital

Interfaces de empacotamento

Referência