Função CryptXmlSign (cryptxml.h)
A função CryptXmlSign cria uma assinatura criptográfica de um elemento SignedInfo .
Sintaxe
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
O identificador para uma estrutura CRYPT_XML_SIGNATURE .
[in, optional] hKey
O identificador de uma chave privada usada para assinar o elemento SignedInfo . Esse parâmetro deve ser NULL para algoritmos de assinatura baseados em HMAC.
dwKeySpec
Um valor DWORD que especifica o tipo de chave. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
|
O par de chaves é um par de troca de chaves. |
|
O par de chaves é um par de assinaturas. |
|
A chave é uma chave CNG (Cryptography API: Next Generation). |
dwFlags
Um valor DWORD que controla como os dados são assinados. Esse parâmetro pode usar um dos valores a seguir.
dwKeyInfoSpec
O tipo de estrutura de dados apontado pelo parâmetro pvKeyInfoSpec . Aqui estão algumas combinações possíveis.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | Está definido como NULL |
CRYPT_XML_KEYINFO_SPEC_ENCODED | Aponta para uma estrutura de CRYPT_XML_BLOB |
CRYPT_XML_KEYINFO_SPEC_PARAM | Aponta para uma estrutura de CRYPT_XML_KEYINFO_PARAM |
[in, optional] pvKeyInfoSpec
Um ponteiro para uma estrutura, cujo tipo é determinado pelo valor do parâmetro dwKeyInfoSpec .
[in] pSignatureMethod
Um ponteiro para uma estrutura CRYPT_XML_ALGORITHM que especifica o método de assinatura.
[in] pCanonicalization
Um ponteiro para uma estrutura CRYPT_XML_ALGORITHM que especifica o método de canonicalização.
Valor retornado
Se a função for bem-sucedida, a função retornará zero.
Se a função falhar, ela retornará um valor HRESULT que indica o erro.
Comentários
Se um certificado não puder ser encontrado, CryptXmlSign criará uma interface do usuário para seleção de certificado. Se essa janela for gerada a partir de um processo em execução na sessão 0, o aplicativo poderá terminar inesperadamente.
Requisitos
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | cryptxml.h |
Biblioteca | Cryptxml.lib |
DLL | Cryptxml.dll |