Compartir a través de


Método IOpcSignatureReferenceSet::Create (msopc.h)

Crea un puntero de interfaz IOpcSignatureReference que representa una referencia a un elemento XML que se va a firmar.

Sintaxis

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

Parámetros

[in] referenceUri

URI del elemento XML al que se hace referencia.

Establezca el valor de este parámetro en un URI que represente "#" seguido del valor de atributo Id del elemento al que se hace referencia: "#<elementIdValue>".

Para obtener ejemplos, vea la sección Comentarios.

[in] referenceId

Atributo Id del elemento Reference que representa la referencia en el marcado de firma. Para omitir el atributo Id , establezca este valor de parámetro en NULL.

[in] type

Atributo Type del elemento Reference que representa la referencia en el marcado de firma. Para omitir el atributo Type , establezca este valor de parámetro en NULL.

[in] digestMethod

Método de resumen que se va a usar para que se haga referencia al marcado XML. Para usar el método de resumen predeterminado, establezca este valor de parámetro en NULL.

Importante El método de resumen predeterminado debe establecerse llamando al método IOpcSigningOptions::SetDefaultDigestMethod antes de llamar a IOpcDigitalSignatureManager::Sign .
 

[in] transformMethod

Método de canonización que se va a usar para que se haga referencia al marcado XML.

[out, retval] reference

Nuevo puntero de interfaz IOpcSignatureReference que representa la referencia al elemento XML que se va a firmar.

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código o valor devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.
E_INVALIDARG
El valor pasado en el parámetro transformMethod no es un valor de enumeración OPC_CANONICALIZATION_METHOD válido.
E_POINTER
El parámetro referenceUri es NULL.
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
El valor del atributo URI reservado del elemento Reference de la firma para el objeto de paquete se usa como el valor del atributo URI de una referencia a un elemento Object personalizado.

Comentarios

Este método crea una referencia a un elemento XML firmado cuando se genera la firma. El elemento al que se hace referencia puede ser un elemento Object específico de la aplicación o un elemento secundario de un objeto específico de la aplicación.

Para hacer referencia a un elemento XML para la firma, establezca el valor del parámetro referenceUri en un URI que represente "#" seguido del valor de atributo Id del elemento al que se hace referencia, como se muestra en la tabla siguiente.

referenceUri Valor como cadena Elemento al que se hace referencia Descripción del elemento
"#idMyCustomObject" "<Object Id="idMyCustomObject">...</Object>" Elemento Object específico de la aplicación.
"#idMyElement" "<Object><MyElement Id="idMyElement">...</MyElement>...</Object>" Elemento secundario de un objeto específico de la aplicación.
 

Este método no crea la referencia al elemento Object específico del paquete que se va a firmar; esa referencia se crea automáticamente cuando se genera la firma.

Cuando se crea un puntero de interfaz IOpcSignatureReference y se agrega al conjunto, la referencia que representa se guarda cuando se guarda el paquete.

Seguridad para subprocesos

Los objetos de empaquetado no son seguros para subprocesos.

Para obtener más información, consulte el Introducción con packaging API.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado msopc.h

Consulte también

Interfaces de empaquetado principal

Introducción con la API de empaquetado

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

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