Condividi tramite


Funzione CryptBinaryToStringA (wincrypt.h)

La funzione CryptBinaryToString converte una matrice di byte in una stringa formattata.

Sintassi

BOOL CryptBinaryToStringA(
  [in]            const BYTE *pbBinary,
  [in]            DWORD      cbBinary,
  [in]            DWORD      dwFlags,
  [out, optional] LPSTR      pszString,
  [in, out]       DWORD      *pcchString
);

Parametri

[in] pbBinary

Puntatore alla matrice di byte da convertire in una stringa.

[in] cbBinary

Numero di elementi nella matrice pbBinary .

[in] dwFlags

Specifica il formato della stringa formattata risultante. Questo parametro può avere uno dei valori seguenti.

Valore Significato
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, con intestazioni iniziali e finali del certificato.
CRYPT_STRING_BASE64
0x00000001
Base64, senza intestazioni.
CRYPT_STRING_BINARY
0x00000002
Copia binaria pura.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, con intestazioni iniziali e finali della richiesta.
CRYPT_STRING_HEX
0x00000004
Solo esadecimale.
CRYPT_STRING_HEXASCII
0x00000005
Esadecimale, con visualizzazione caratteri ASCII .
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, con intestazioni di inizio e fine CRL X.509 .
CRYPT_STRING_HEXADDR
0x0000000a
Esadecimale, con visualizzazione degli indirizzi.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Esadecimale, con carattere e indirizzo ASCII visualizzato.
CRYPT_STRING_HEXRAW
0x0000000c
Stringa esadecimale non elaborata.

Windows Server 2003 e Windows XP: Questo valore non è supportato.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, senza intestazioni, con "+" sostituito da "-" e "/" sostituito da "_" come definito nella sezione 4648 RFC 5.
CRYPT_STRING_STRICT
0x20000000
Applicare la decodifica rigorosa dei formati di testo ASN.1. Alcuni BLOB binari ASN.1 possono avere i primi byte del BLOB interpretati in modo errato come testo Base64. In questo caso, il resto del testo viene ignorato. Usare questo flag per applicare la decodifica completa del BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.

 

Oltre ai valori precedenti, è possibile specificare uno o più dei valori seguenti per modificare il comportamento della funzione.

Valore Significato
CRYPT_STRING_NOCRLF
0x40000000
Non aggiungere nuovi caratteri di riga alla stringa codificata. Il comportamento predefinito consiste nell'usare una coppia di ritorno/riga a capo (CR/LF) (0x0D/0x0A) per rappresentare una nuova riga.

Windows Server 2003 e Windows XP: Questo valore non è supportato.

CRYPT_STRING_NOCR
0x80000000
Usare solo il carattere LF (Line Feed) (0x0A) per una nuova riga. Il comportamento predefinito consiste nell'usare una coppia CR/LF (0x0D/0x0A) per rappresentare una nuova riga.

[out, optional] pszString

Puntatore a un buffer che riceve la stringa convertita. Per calcolare il numero di caratteri che devono essere allocati per contenere la stringa restituita, impostare questo parametro su NULL. La funzione inserisce il numero di caratteri richiesto, incluso il carattere NULL terminante, nel valore a cui punta da pcchString.

[in, out] pcchString

Puntatore a una variabile DWORD contenente le dimensioni, in TCHARs, del buffer pszString . Se pszString è NULL, la funzione calcola la lunghezza della stringa restituita (incluso il carattere Null di terminazione) in TCHARs e la restituisce in questo parametro. Se pszString non è NULL e abbastanza grande, la funzione converte i dati binari in un formato stringa specificato, incluso il carattere null terminante, ma pcchString riceve la lunghezza in TCHARs, non incluso il carattere null terminante.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce non zero (TRUE).

Se la funzione ha esito negativo, restituisce zero (FALSE).

Commenti

Ad eccezione di quando viene usata CRYPT_STRING_BINARY codifica, tutte le stringhe vengono aggiunte con una nuova sequenza di righe. Per impostazione predefinita, la nuova sequenza di righe è una coppia CR/LF (0x0D/0x0A). Se il parametro dwFlags contiene il flag di CRYPT_STRING_NOCR , la nuova sequenza di righe è un carattere LF (0x0A). Se il parametro dwFlags contiene il flag CRYPT_STRING_NOCRLF , non viene aggiunta alcuna nuova sequenza di righe alla stringa.

Nota

L'intestazione wincrypt.h definisce CryptBinaryToString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CryptStringToBinary