Funzione CryptMsgCountersignEncoded (wincrypt.h)

La funzione CryptMsgCountersignEncoded assegna una firma del messaggio PKCS #7 esistente. Il buffer pbCountersignaturaBYTE viene creato è un signerInfo codificato PKCS #7 che può essere usato come countersignature non autenticato attributo di un messaggio pkCS #9 signed-data o signed-and-enveloped-data.

Sintassi

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
);

Parametri

[in] dwEncodingType

Specifica il tipo di codifica utilizzato. Attualmente vengono usati solo X509_ASN_ENCODING e PKCS_7_ASN_ENCODING; Tuttavia, potrebbero essere aggiunti altri tipi di codifica in futuro. Per uno dei tipi di codifica correnti, usare:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pbSignerInfo

Puntatore all'oggetto SignerInfo codificato che deve essere controfirmato.

[in] cbSignerInfo

Conteggio, in byte, dei dati SignerInfo codificati.

[in] cCountersigners

Numero di contatori nella matrice rgCountersigners .

[in] rgCountersigners

Matrice di strutture di CMSG_SIGNER_ENCODE_INFO dei controfirmi.

[out] pbCountersignature

Puntatore a un buffer per ricevere un attributo pkCS #9 codificato controfirma.

In caso di input, questo parametro può essere null per impostare le dimensioni di queste informazioni a scopo di allocazione della memoria. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.

[in, out] pcbCountersignature

Puntatore a una variabile che specifica le dimensioni, in byte, del buffer a cui punta il parametro pbCountersignatura. Quando la funzione termina, la variabile a cui punta il parametro pcbCountersignatura contiene il numero di byte archiviati 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 sugli errori estesi, chiamare GetLastError.

Nella tabella seguente sono elencati i codici di errore più comunemente restituiti dalla funzione GetLastError .

Codice restituito Descrizione
CRYPT_E_OID_FORMAT
L'identificatore dell'oggetto non è formattato in modo corretto.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria esaurita.
 

Gli errori propagati possono essere restituiti da una delle funzioni seguenti:

Se la funzione non riesce, GetLastError potrebbe restituire un errore di codifica/decodifica astratta notazione 1 (ASN.1). Per informazioni su questi errori, vedere codifica ASN.1/Decodifica dei valori restituiti.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [app desktop | App UWP]
server minimo supportato Windows Server 2003 [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione wincrypt.h
libreria Crypt32.lib
dll Crypt32.dll

Vedere anche

CryptMsgCountersign

CryptMsgVerifyCountersignaturaEncoded

funzioni messaggio di basso livello

funzioni di messaggio semplificate