Función CryptXmlSign (cryptxml.h)
La función CryptXmlSign crea una firma criptográfica de un elemento SignedInfo .
Sintaxis
HRESULT CryptXmlSign(
[in] HCRYPTXML hSignature,
[in, optional] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hKey,
DWORD dwKeySpec,
DWORD dwFlags,
CRYPT_XML_KEYINFO_SPEC dwKeyInfoSpec,
[in, optional] const void *pvKeyInfoSpec,
[in] const CRYPT_XML_ALGORITHM *pSignatureMethod,
[in] const CRYPT_XML_ALGORITHM *pCanonicalization
);
Parámetros
[in] hSignature
Identificador de una estructura CRYPT_XML_SIGNATURE .
[in, optional] hKey
Identificador de una clave privada utilizada para firmar el elemento SignedInfo . Este parámetro debe ser NULL para los algoritmos de firma basados en HMAC.
dwKeySpec
Valor DWORD que especifica el tipo de clave. Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
El par de claves es un par de intercambio de claves. |
|
El par de claves es un par de firmas. |
|
La clave es una clave cryptography API: Next Generation (CNG). |
dwFlags
Valor DWORD que controla cómo se firman los datos. Este parámetro puede ser uno de los valores siguientes.
dwKeyInfoSpec
Tipo de estructura de datos a la que apunta el parámetro pvKeyInfoSpec . Estas son algunas combinaciones posibles.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | Se establece en NULL. |
CRYPT_XML_KEYINFO_SPEC_ENCODED | Apunta a una estructura de CRYPT_XML_BLOB |
CRYPT_XML_KEYINFO_SPEC_PARAM | Apunta a una estructura de CRYPT_XML_KEYINFO_PARAM |
[in, optional] pvKeyInfoSpec
Puntero a una estructura, cuyo tipo viene determinado por el valor del parámetro dwKeyInfoSpec .
[in] pSignatureMethod
Puntero a una estructura de CRYPT_XML_ALGORITHM que especifica el método de firma.
[in] pCanonicalization
Puntero a una estructura CRYPT_XML_ALGORITHM que especifica el método de canonización.
Valor devuelto
Si la función se realiza correctamente, la función devuelve cero.
Si se produce un error en la función, devuelve un valor HRESULT que indica el error.
Comentarios
Si no se encuentra un certificado, CryptXmlSign creará una interfaz de usuario para la selección de certificados. Si esta ventana se genera a partir de un proceso que se ejecuta en la sesión 0, la aplicación puede finalizar inesperadamente.
Requisitos
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 | cryptxml.h |
Library | Cryptxml.lib |
Archivo DLL | Cryptxml.dll |