Freigeben über


CryptBinaryToStringA-Funktion (wincrypt.h)

Die CryptBinaryToString-Funktion konvertiert ein Bytearray in eine formatierte Zeichenfolge.

Syntax

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

Parameter

[in] pbBinary

Ein Zeiger auf das Array von Bytes, die in eine Zeichenfolge konvertiert werden sollen.

[in] cbBinary

Die Anzahl der Elemente im PbBinary-Array .

[in] dwFlags

Gibt das Format der resultierenden formatierten Zeichenfolge an. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
CRYPT_STRING_BASE64HEADER
0x00000000
Base64 mit Zertifikatkopfzeilen am Anfang und Ende.
CRYPT_STRING_BASE64
0x00000001
Base64, ohne Header.
CRYPT_STRING_BINARY
0x00000002
Reine binäre Kopie.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64 mit Anfangs- und Endheadern der Anforderung.
CRYPT_STRING_HEX
0x00000004
Nur hexadezimal.
CRYPT_STRING_HEXASCII
0x00000005
Hexadezimal, mit ASCII-Zeichenanzeige .
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, mit X.509-CRL-Anfangs - und Endheadern.
CRYPT_STRING_HEXADDR
0x0000000a
Hexadezimal, mit Adressanzeige.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadezimal, mit ASCII-Zeichen und Adressanzeige.
CRYPT_STRING_HEXRAW
0x0000000c
Eine unformatierte hexadezimale Zeichenfolge.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRYPT_STRING_BASE64URI
0x0000000d
Base64 ohne Header, wobei "+" durch "-" und "/" ersetzt wird durch "_", wie in RFC 4648 Abschnitt 5 definiert.
CRYPT_STRING_STRICT
0x20000000
Erzwingen Sie eine strikte Decodierung von ASN.1-Textformaten. Bei einigen ASN.1-Binärblobs können die ersten Bytes des BLOB fälschlicherweise als Base64-Text interpretiert werden. In diesem Fall wird der rest des Texts ignoriert. Verwenden Sie dieses Flag, um die vollständige Decodierung des BLOB zu erzwingen.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

 

Zusätzlich zu den oben genannten Werten können mindestens einer der folgenden Werte angegeben werden, um das Verhalten der Funktion zu ändern.

Wert Bedeutung
CRYPT_STRING_NOCRLF
0x40000000
Fügen Sie keine neuen Zeilenzeichen an die codierte Zeichenfolge an. Das Standardverhalten besteht darin, ein Cr/LF-Paar (Wagenrücklauf/Zeilenvorschub) (0x0D/0x0A) zu verwenden, um eine neue Linie darzustellen.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRYPT_STRING_NOCR
0x80000000
Verwenden Sie nur das Zeilenvorschubzeichen (LF) (0x0A) für eine neue Zeile. Das Standardverhalten besteht darin, ein CR/LF-Paar (0x0D/0x0A) zu verwenden, um eine neue Linie darzustellen.

[out, optional] pszString

Ein Zeiger auf einen Puffer, der die konvertierte Zeichenfolge empfängt. Um die Anzahl der Zeichen zu berechnen, die für die zurückgegebene Zeichenfolge zugewiesen werden müssen, legen Sie diesen Parameter auf NULL fest. Die Funktion platziert die erforderliche Anzahl von Zeichen, einschließlich des beendenden NULL-Zeichens , im Wert, auf den von pcchString verwiesen wird.

[in, out] pcchString

Ein Zeiger auf eine DWORD-Variable, die die Größe des pszString-Puffers in TCHARs enthält. Wenn pszStringNULL ist, berechnet die Funktion die Länge der Rückgabezeichenfolge (einschließlich des beendenden NULL-Zeichens) in TCHARs und gibt sie in diesem Parameter zurück. Wenn pszString nicht NULL und groß genug ist, konvertiert die Funktion die Binärdaten in ein angegebenes Zeichenfolgenformat, einschließlich des beendenden NULL-Zeichens, aber pcchString empfängt die Länge in TCHARs, ohne das beendende NULL-Zeichen.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.

Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück.

Hinweise

Mit Ausnahme der CRYPT_STRING_BINARY-Codierung werden alle Zeichenfolgen mit einer neuen Zeilensequenz angefügt. Standardmäßig ist die neue Zeilensequenz ein CR/LF-Paar (0x0D/0x0A). Wenn der dwFlags-Parameter das flag CRYPT_STRING_NOCR enthält, ist die neue Zeilensequenz ein LF-Zeichen (0x0A). Wenn der dwFlags-Parameter das flag CRYPT_STRING_NOCRLF enthält, wird keine neue Zeilensequenz an die Zeichenfolge angefügt.

Hinweis

Der wincrypt.h-Header definiert CryptBinaryToString als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CryptStringToBinary