Funzione CryptSignMessageWithKey (wincrypt.h)
La funzione CryptSignMessageWithKey firma un messaggio usando la chiave privata di un CSP specificata nei parametri. Un segnaposto SignerId viene creato e archiviato nel messaggio.
Sintassi
BOOL CryptSignMessageWithKey(
[in] PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara,
[in] const BYTE *pbToBeSigned,
[in] DWORD cbToBeSigned,
[out] BYTE *pbSignedBlob,
[in, out] DWORD *pcbSignedBlob
);
Parametri
[in] pSignPara
Puntatore a una struttura CRYPT_KEY_SIGN_MESSAGE_PARA che contiene i parametri di firma.
[in] pbToBeSigned
Puntatore a una matrice di buffer che contiene il messaggio da firmare.
[in] cbToBeSigned
Numero di elementi della matrice nella matrice di buffer pbToBeSigned .
[out] pbSignedBlob
Puntatore a un buffer per ricevere il messaggio con segno codificato.
Questo parametro può essere NULL per impostare le dimensioni di queste informazioni per scopi di allocazione della memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out] pcbSignedBlob
Puntatore a un valore DWORD che indica le dimensioni, in byte, del buffer pbSignedBlob . Quando la funzione restituisce, questa variabile contiene le dimensioni, in byte, del messaggio firmato e codificato.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE).
Per informazioni sull'errore estese, chiamare GetLastError.
Di seguito sono elencati i codici di errore più comunemente restituiti dalla funzione GetLastError .
Codice restituito | Descrizione |
---|---|
|
Se il buffer specificato dal parametro pbSignedBlob non è sufficiente per contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile puntata da pcbSignedBlob. |
|
Il tipo di codifica del messaggio non è valido. Attualmente è supportato solo PKCS_7_ASN_ENCODING. CbSize in *pSignPara non è valido. |
|
PSigningCert in *pSignPara non ha una proprietà CERT_KEY_PROV_INFO_PROP_ID o CERT_KEY_CONTEXT_PROP_ID. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |