Método IOpcSignatureRelationshipReferenceSet::Create (msopc.h)
Crea un puntero de interfaz IOpcSignatureRelationshipReference que representa una referencia a un elemento Relationships y agrega el nuevo puntero de interfaz al conjunto. Se seleccionan todos o un subconjunto de las relaciones almacenadas en la parte Relaciones a las que se va a hacer referencia para firmar.
Sintaxis
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
Parámetros
[in] sourceUri
Puntero de interfaz IOpcUri que representa el URI de origen de las relaciones que se van a seleccionar para firmar.
[in] digestMethod
Método de resumen que se va a usar para seleccionar las relaciones. Para usar el método de resumen predeterminado, pase NULL en este parámetro.
[in] relationshipSigningOption
Valor que indica si las relaciones seleccionadas para firmar incluyen todas o un subconjunto de las relaciones de la parte Relaciones a las que se va a hacer referencia.
Para obtener información sobre el efecto de los valores relationshipSigningOption en otros parámetros, vea Comentarios.
[in] selectorSet
Puntero de interfaz IOpcRelationshipSelectorSet que se puede usar para identificar un subconjunto de relaciones en la parte Relaciones que se va a seleccionar para firmar.
Si relationshipSigningOption se establece en OPC_RELATIONSHIP_SIGN_PART, selectorSet es NULL.
Para obtener información sobre los valores selectorSet , vea Comentarios.
[in] transformMethod
Valor que describe el método de canonización que se va a aplicar al marcado de relación de las relaciones seleccionadas.
Si relationshipSigningOption se establece OPC_RELATIONSHIP_SIGN_USING_SELECTORS, se omite el valor de transformMethod .
Para obtener más información sobre los métodos de transformación que se van a aplicar cuando relationshipSigningOption está establecido en OPC_RELATIONSHIP_SIGN_USING_SELECTORS, vea Comentarios.
[out, retval] relationshipReference
Nuevo puntero de interfaz IOpcSignatureRelationshipReference que representa la parte Relaciones a la que se hace referencia.
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 devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
El valor pasado en el parámetro relationshipSigningOption no es un valor de enumeración OPC_RELATIONSHIPS_SIGNING_OPTION válido. |
|
El valor pasado en el parámetro transformMethod no es un valor de enumeración OPC_CANONICALIZATION_METHOD válido. |
|
El parámetro sourceUri es NULL. |
|
El parámetro selectorSet no se pasa NULL mientras el parámetro relationshipSigningOption se pasa un valor de OPC_RELATIONSHIP_SIGN_PART. |
Comentarios
Este método crea una referencia a un elemento Relationships. Todos o un subconjunto de las relaciones almacenadas en un elemento Relaciones a los que se hace referencia se pueden firmar cuando se genera la firma.
Para firmar todas las relaciones de un elemento Relationships, llame a este método con el valor del parámetro relationshipSigningOption establecido en OPC_RELATIONSHIP_SIGN_PART y el valor del parámetro selectorSet establecido en NULL.
Para firmar un subconjunto de las relaciones de un elemento Relationships, llame a este método con el valor del parámetro relationshipSigningOption establecido en OPC_RELATIONSHIP_SIGN_USING_SELECTORS y el valor del parámetro selectorSet establecido en un puntero de interfaz IOpcRelationshipSelectorSet . Para crear un puntero de interfaz IOpcRelationshipSelectorSet , llame al método CreateRelationshipSelectorSet .
En la tabla siguiente se resumen los valores de parámetro requeridos por este método para crear una referencia que indique si se van a firmar todas las relaciones o un subconjunto de las relaciones (que se almacenan en la parte Relaciones a las que se va a hacer referencia).
Descripción | relationshipSigningOption Valor | selectorSet Valor |
---|---|---|
Firmar todas las relaciones en la parte Relaciones | OPC_RELATIONSHIP_SIGN_PART | NULL |
Firmar un subconjunto de las relaciones en la parte Relaciones | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | Puntero de interfaz IOpcRelationshipSelectorSet |
Si se va a firmar un subconjunto de relaciones, se omite el método de transformación especificado. En su lugar, cuando se genera la firma, la primera transformación aplicada es la Transformación de relaciones y la segunda es el método de canónico OPC_CANONICALIZATION_C14N .
Cuando se crea un puntero de interfaz IOpcSignatureRelationshipReference y se agrega al conjunto, la referencia que representa se guarda cuando se guarda el paquete.
Las relaciones que no se firmarán se pueden quitar, modificar o agregar al paquete sin invalidar la firma. Si se ha seleccionado un subconjunto de relaciones para firmar y se modifica el subconjunto, la firma se invalidará.
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
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
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