CertNameToStrA 関数 (wincrypt.h)
CertNameToStr 関数は、CERT_NAME_BLOB 構造体のエンコードされた名前を null で終わる文字列に変換します。
文字列形式は、RFC 1779
構文
DWORD CertNameToStrA(
[in] DWORD dwCertEncodingType,
[in] PCERT_NAME_BLOB pName,
[in] DWORD dwStrType,
[out] LPSTR psz,
[in] DWORD csz
);
パラメーター
[in] dwCertEncodingType
証明書のエンコードの種類 名前のエンコードに使用されました。 この値の高い WORD に含まれる メッセージ エンコードの種類 識別子は、この関数では無視されます。
このパラメーターには、現在定義されている次の証明書エンコードの種類を指定できます。
価値 | 意味 |
---|---|
|
X.509 証明書エンコードを指定します。 |
[in] pName
変換する CERT_NAME_BLOB 構造体へのポインター。
[in] dwStrType
このパラメーターは、出力文字列の形式を指定します。 このパラメーターは、文字列の内容の他のオプションも指定します。
このパラメーターには、次のいずれかの値を指定できます。
価値 | 意味 |
---|---|
|
|
|
OID は、属性値の等号 (=) 区切り記号に含まれています。 CERT_RDN エントリは、コンマで区切られた後にスペース (, ) が続きます。 CERT_RDN 内の複数の属性は、プラス記号とスペース (+) で区切られます。 |
|
OID は、X.500 キー名に変換されます。それ以外の場合は、CERT_OID_NAME_STRと同じです。 OID に対応する X.500 名がない場合、OID は OID のプレフィックスと共に使用されます。
RDN 値に先頭または末尾の空白が含まれている場合、または次のいずれかの文字が含まれている場合、RDN 値は引用符で囲まれます。
|
次のオプションを上記の値と組み合わせて、文字列の追加オプションを指定することもできます。
[out] psz
返された文字列を受け取る文字バッファーへのポインター。 このバッファーのサイズは、csz パラメーターで指定します。
[in] csz
psz バッファーのサイズ (文字数)。 サイズには、終端の null 文字を含める必要があります。
戻り値
変換された文字数 (終端の null 文字を含む) を返します。
psz
備考
デコード時に発生する可能性のある順序付けの問題を回避するために、マルチコンポーネント RDN (CN=James+O=Microsoft など) を使用しないことをお勧めします。 代わりに、単一値の RDN (CN=James、O=Microsoft など) の使用を検討してください。
文字列形式は、RFC 1779
- 引用符を含む名前は、二重引用符で囲まれます。
- 空の文字列は二重引用符で囲まれます。
- 連続するスペースを含む文字列は、引用符で囲まれません。
- CERT_RDN_ENCODED_BLOB または CERT_RDN_OCTET_STRING の相対識別名 (RDN) 値は、16 進数で書式設定されます。
- OID に対応する X.500 名がない場合は、OID の前に "OID" プレフィックスが使用されます。
- RDN 値の先頭に空白、末尾の空白、または次のいずれかの文字が含まれている場合、RDN 値は二重引用符 ("\" ではなく) で囲まれます。
- コンマ (,)
- プラス記号 (+)
- 等号 (=)
- インチ マーク (")
- 円記号 (/)
- 符号より小さい (<)
- より大きい記号 (>)
- 番号記号 (#)
- セミコロン (;)
- stateOrProvinceName (2.5.4.8) OID の X.500 キー名は "S" です。 この値は RFC 1779 X.500 キー名 ("ST") とは異なります。
鍵 | オブジェクト識別子の文字列 |
---|---|
E | 1.2.840.113549.1.9.1 |
T | 2.5.4.12 |
G | 2.5.4.42 |
私 | 2.5.4.43 |
SN | 2.5.4.4 |
例
この関数を使用する例については、
例 C プログラム: 名前を証明書から ASN.1 に変換し、に戻す。
手記
wincrypt.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CertNameToStr を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | wincrypt.h |
ライブラリ | Crypt32.lib |
DLL | Crypt32.dll |