CryptBinaryToStringA 関数 (wincrypt.h)

CryptBinaryToString 関数は、バイト配列を書式設定された文字列に変換します。

構文

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

パラメーター

[in] pbBinary

文字列に変換されるバイト配列へのポインター。

[in] cbBinary

pbBinary 配列内の要素の数。

[in] dwFlags

結果の書式設定された文字列の形式を指定します。 このパラメーターには、次の値のいずれかを指定できます。

説明
CRYPT_STRING_BASE64HEADER
0x00000000
Base64。証明書の先頭と末尾のヘッダーが含まれます。
CRYPT_STRING_BASE64
0x00000001
ヘッダーなしの Base64。
CRYPT_STRING_BINARY
0x00000002
純粋なバイナリ コピー。
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
要求の開始ヘッダーと終了ヘッダーを含む Base64。
CRYPT_STRING_HEX
0x00000004
16 進数のみ。
CRYPT_STRING_HEXASCII
0x00000005
ASCII 文字表示の 16 進数。
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64( X.509 CRL の先頭ヘッダーと終了ヘッダーを含む)。
CRYPT_STRING_HEXADDR
0x0000000a
アドレス表示を含む 16 進数。
CRYPT_STRING_HEXASCIIADDR
0x0000000b
ASCII 文字とアドレス表示を含む 16 進数。
CRYPT_STRING_HEXRAW
0x0000000c
生の 16 進文字列。

Windows Server 2003 および Windows XP: この値はサポートされていません。

CRYPT_STRING_STRICT
0x20000000
ASN.1 テキスト形式の厳密なデコードを適用します。 一部の ASN.1 バイナリ BLOB では、BLOB の最初の数バイトが Base64 テキストとして誤って解釈される可能性があります。 この場合、残りのテキストは無視されます。 BLOB の完全なデコードを強制するには、このフラグを使用します。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。

 

上記の値に加えて、関数の動作を変更するために、次の値の 1 つ以上を指定できます。

説明
CRYPT_STRING_NOCRLF
0x40000000
エンコードされた文字列に改行文字を追加しないでください。 既定の動作では、復帰/改行 (CR/LF) ペア (0x0D/0x0A) を使用して新しい行を表します。

Windows Server 2003 および Windows XP: この値はサポートされていません。

CRYPT_STRING_NOCR
0x80000000
改行 (LF) 文字 (0x0A) のみを新しい行に使用します。 既定の動作では、CR/LF ペア (0x0D/0x0A) を使用して新しい行を表します。

[out, optional] pszString

変換された文字列を受け取るバッファーへのポインター。 返される文字列を保持するために割り当てる必要がある文字数を計算するには、このパラメーターを NULL に設定 します。 関数は、pcchString が指す値に、終端の NULL 文字を含む必要な文字数を配置します。

[in, out] pcchString

pszString バッファーのサイズ (TCHARs) を含む DWORD 変数へのポインター。 pszStringNULL の場合、関数は TCHARs の戻り文字列 (終端の null 文字を含む) の長さを計算し、このパラメーターで返します。 pszStringNULL ではなく、十分な大きさの場合、関数はバイナリ データを、終端の null 文字を含む指定された文字列形式に変換しますが、pcchStringTCHARの長さを受け取り、終端の null 文字は含まれません。

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。

解説

CRYPT_STRING_BINARYエンコードを使用する場合を除き、すべての文字列に新しい行シーケンスが追加されます。 既定では、新しい行シーケンスは CR/LF ペア (0x0D/0x0A) です。 dwFlags パラメーターに CRYPT_STRING_NOCR フラグが含まれている場合、新しい行シーケンスは LF 文字 (0x0A)。 dwFlags パラメーターに CRYPT_STRING_NOCRLF フラグが含まれている場合、文字列に新しい行シーケンスは追加されません。

注意

wincrypt.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CryptBinaryToString を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

CryptStringToBinary