Funzione CryptXmlSign (cryptxml.h)
La funzione CryptXmlSign crea una firma crittografica di un elemento SignedInfo .
Sintassi
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
);
Parametri
[in] hSignature
Handle di una struttura CRYPT_XML_SIGNATURE .
[in, optional] hKey
Handle di una chiave privata utilizzata per firmare l'elemento SignedInfo . Questo parametro deve essere NULL per gli algoritmi di firma basati su HMAC.
dwKeySpec
Valore DWORD che specifica il tipo di chiave. Questo parametro può avere uno dei valori seguenti.
Valore | Significato |
---|---|
|
La coppia di chiavi è una coppia di scambio di chiavi. |
|
La coppia di chiavi è una coppia di firme. |
|
La chiave è una chiave CNG (Cryptography API: Next Generation). |
dwFlags
Valore DWORD che controlla la modalità di firma dei dati. Questo parametro può avere uno dei valori seguenti.
dwKeyInfoSpec
Tipo di struttura dei dati a cui punta il parametro pvKeyInfoSpec . Ecco alcune possibili combinazioni.
dwKeyInfec | pvKeyInfoSpec |
---|---|
CRYPT_XML_KEYINFO_SPEC_NONE | È impostato su NULL |
CRYPT_XML_KEYINFO_SPEC_ENCODED | Punta a una struttura CRYPT_XML_BLOB |
CRYPT_XML_KEYINFO_SPEC_PARAM | Punta a una struttura CRYPT_XML_KEYINFO_PARAM |
[in, optional] pvKeyInfoSpec
Puntatore a una struttura, il tipo di cui è determinato dal valore del parametro dwKeyInfoSpec .
[in] pSignatureMethod
Puntatore a una struttura CRYPT_XML_ALGORITHM che specifica il metodo di firma.
[in] pCanonicalization
Puntatore a una struttura CRYPT_XML_ALGORITHM che specifica il metodo di canonizzazione.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce zero.
Se la funzione ha esito negativo, restituisce un valore HRESULT che indica l'errore.
Commenti
Se non è possibile trovare un certificato, CryptXmlSign creerà un'interfaccia utente per la selezione del certificato. Se questa finestra viene generata da un processo in esecuzione nella sessione 0, l'applicazione potrebbe terminare in modo imprevisto.
Requisiti
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | cryptxml.h |
Libreria | Cryptxml.lib |
DLL | Cryptxml.dll |