Freigeben über


CryptMsgCountersignEncoded-Funktion (wincrypt.h)

Die CryptMsgCountersignEncoded--Funktion weist eine vorhandene PKCS #7-Nachrichtensignatur auf. Der pbCountersignatureBYTE- Puffer, der erstellt wird, ist eine PKCS #7-codierte SignerInfo, die als nicht authentifizierte Countersignature Attributs eines PKCS #9 signierten oder signierten und umschlageten Datennachricht verwendet werden kann.

Syntax

BOOL CryptMsgCountersignEncoded(
  [in]      DWORD                    dwEncodingType,
  [in]      PBYTE                    pbSignerInfo,
  [in]      DWORD                    cbSignerInfo,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
  [out]     PBYTE                    pbCountersignature,
  [in, out] PDWORD                   pcbCountersignature
);

Parameter

[in] dwEncodingType

Gibt den verwendeten Codierungstyp an. Derzeit werden nur X509_ASN_ENCODING und PKCS_7_ASN_ENCODING verwendet; Weitere Codierungstypen können jedoch in Zukunft hinzugefügt werden. Verwenden Sie für einen der aktuellen Codierungstypen Folgendes:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pbSignerInfo

Ein Zeiger auf die codierte SignerInfo, die gegensigniert werden soll.

[in] cbSignerInfo

Anzahl der codierten SignerInfo-Daten in Bytes.

[in] cCountersigners

Anzahl der Gegenzeichen im rgCountersigners Array.

[in] rgCountersigners

Array der CMSG_SIGNER_ENCODE_INFO Strukturen der Gegensignierer.

[out] pbCountersignature

Ein Zeiger auf einen Puffer, um ein codiertes PKCS #9 gegensignature Attribut zu empfangen.

Bei der Eingabe kann dieser Parameter NULL- sein, um die Größe dieser Informationen für Speicherzuweisungszwecke festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.

[in, out] pcbCountersignature

Ein Zeiger auf eine Variable, der die Größe des Puffers in Byte angibt, auf den der pbCountersignature-Parameter verweist. Wenn die Funktion zurückgegeben wird, enthält die Variable, auf die die pcbCountersignature Parameter verweist, die Anzahl der im Puffer gespeicherten Bytes.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert null (FALSE). Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.

In der folgenden Tabelle sind die Fehlercodes aufgeführt, die am häufigsten von der funktion GetLastError zurückgegeben werden.

Rückgabecode Beschreibung
CRYPT_E_OID_FORMAT
Der Objektbezeichner ist schlecht formatiert.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.
 

Verteilte Fehler können von einer der folgenden Funktionen zurückgegeben werden:

Wenn die Funktion fehlschlägt, gibt GetLastError- möglicherweise einen abstrakten Syntaxnotation One (ASN.1)-Codierungs-/Decodierungsfehler zurück. Informationen zu diesen Fehlern finden Sie unter ASN.1 Encoding/Decoding Return Values.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- wincrypt.h
Library Crypt32.lib
DLL- Crypt32.dll

Siehe auch

CryptMsgCountersign-

CryptMsgVerifyCountersignatureEncoded

Nachrichtenfunktionen auf niedriger Ebene

vereinfachte Nachrichtenfunktionen