次の方法で共有


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_BASE64URI
0x0000000d
ヘッダーなしの Base64。RFC 4648 セクション 5 で定義されているように、"+" を "-" と "/" に置き換え、"_" に置き換えます。
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設定します。 この関数は、終了 NULL 文字を含む必要な文字数を、pcchString指す値に配置します。

[in, out] pcchString

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

戻り値

関数が成功した場合、関数は 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wincrypt.h
ライブラリ Crypt32.lib
DLL Crypt32.dll

関連項目

CryptStringToBinary