CryptMsgSignCTL-Funktion (wincrypt.h)
Die CryptMsgSignCTL-Funktion erstellt eine signierte Nachricht, die eine codierte CTL enthält.
Syntax
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
);
Parameter
[in] dwMsgEncodingType
Gibt den verwendeten Codierungstyp an. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Derzeit definierte Codierungstypen sind:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlContent
Die codierte CTL_INFO , die mitglied einer CTL_CONTEXT-Struktur sein oder mithilfe der CryptEncodeObject-Funktion erstellt werden kann.
[in] cbCtlContent
Die Größe des Inhalts in Bytes, auf den pbCtlContent verweist.
[in] pSignInfo
Ein Zeiger auf eine CMSG_SIGNED_ENCODE_INFO-Struktur , die ein Array einer CMSG_SIGNER_ENCODE_INFO-Struktur enthält.
Die Nachricht kann ohne Signierer codiert werden, wenn der cbSize-Member der -Struktur auf die Größe der -Struktur festgelegt ist und alle anderen Member auf 0 (null) festgelegt sind.
[in] dwFlags
Wenn CMS_PKCS7 definiert ist, kann auf CMSG_CMS_ENCAPSULATED_CTL_FLAG festgelegt werden, um eine CMS-kompatible V3 SignedData-Nachricht zu codieren.
[out] pbEncoded
Ein Zeiger auf einen Puffer, der die codierte Nachricht empfängt.
Dieser Parameter kann NULL sein, um die Größe dieser Informationen für die Speicherbelegung abzurufen. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.
[in, out] pcbEncoded
Ein Zeiger auf ein DWORD , das die Größe des pbEncoded-Puffers in Bytes angibt. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten oder zu speichernden Bytes.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich null (TRUE).
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Diese Funktion kann Fehler zurückgeben, die von Aufrufen von CryptMsgOpenToEncode und CryptMsgUpdate weitergegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |