Funzione CryptMsgSignCTL (wincrypt.h)
La funzione CryptMsgSignCTL crea un messaggio firmato contenente un CTL codificato.
Sintassi
BOOL CryptMsgSignCTL(
[in] DWORD dwMsgEncodingType,
[in] BYTE *pbCtlContent,
[in] DWORD cbCtlContent,
[in] PCMSG_SIGNED_ENCODE_INFO pSignInfo,
[in] DWORD dwFlags,
[out] BYTE *pbEncoded,
[in, out] DWORD *pcbEncoded
);
Parametri
[in] dwMsgEncodingType
Specifica il tipo di codifica usato. È sempre accettabile specificare sia i tipi di codifica del certificato che dei messaggi combinandoli con un'operazione bit per bit or , come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
I tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlContent
Il CTL_INFO codificato che può essere un membro di una struttura CTL_CONTEXT o può essere creato usando la funzione CryptEncodeObject .
[in] cbCtlContent
Dimensioni, in byte, del contenuto a cui fa riferimento pbCtlContent.
[in] pSignInfo
Puntatore a una struttura CMSG_SIGNED_ENCODE_INFO contenente una matrice di strutture CMSG_SIGNER_ENCODE_INFO .
Il messaggio può essere codificato senza segno se il membro cbSize della struttura è impostato sulla dimensione della struttura e tutti gli altri membri sono impostati su zero.
[in] dwFlags
Se CMS_PKCS7 è definito, è possibile impostare su CMSG_CMS_ENCAPSULATED_CTL_FLAG per codificare un messaggio V3 Con segno firmato V3 compatibile con CMS.
[out] pbEncoded
Puntatore a un buffer per ricevere il messaggio codificato.
Questo parametro può essere NULL per ottenere le dimensioni di queste informazioni ai fini dell'allocazione della memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out] pcbEncoded
Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer pbEncoded . Quando la funzione restituisce, la DWORD contiene il numero di byte archiviati o da archiviare nel buffer.
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. Questa funzione può restituire errori propagati dalle chiamate a CryptMsgOpenToEncode e CryptMsgUpdate.
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 |
Vedi anche
Funzioni di verifica tramite elenchi di controllo di accesso