Share via


ICertGetConfig::GetConfig メソッド (certcli.h)

GetConfig メソッドは、Certificate Services サーバーの構成文字列を取得します。

構成文字列は、バックスラッシュ (\) で区切られたサーバー名と 証明機関 (CA) 名です。例: ServerName\CAName。 この構成文字列は、特定の Certificate Services サーバーを明確に参照するために使用できます。 詳細については、「解説」を参照してください。

構文

HRESULT GetConfig(
  [in]  LONG Flags,
  [out] BSTR *pstrOut
);

パラメーター

[in] Flags

使用する CA を指定する値。 このパラメーターには、次の値のいずれかを指定できます。

意味
CC_DEFAULTCONFIG
0x00000000
既定の CA を取得します。
CC_FIRSTCONFIG
0x00000002
最初の CA を返します。
CC_LOCALACTIVECONFIG
0x00000004
ローカル CA が実行されている場合は、それを取得します。
CC_LOCALCONFIG
0x00000003
ローカル CA を取得します。
CC_UIPICKCONFIG
0x00000001
ユーザーが CA を選択できるようにするユーザー インターフェイス (UI) を表示します。
CC_UIPICKCONFIGSKIPLOCALCA
0x00000005
ユーザーが CA を選択できるようにする UI を表示します。 UI では、ローカル CA は除外されます。 この除外は、下位 CA 証明書要求が現在の CA 以外の CA に送信されるときに、下位 CA 証明書の更新時に役立ちます。

[out] pstrOut

構成を含む BSTR へのポインター。 構成の使用が完了したら、 SysFreeString 関数を呼び出して pbstrOut を解放します。

戻り値

関数が成功した場合、戻り値はS_OK。

メソッドが失敗した場合、戻り値はエラーを示す HRESULT です。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。

注釈

この関数が返す構成文字列の 証明機関 (CA) 名部分は、Certificate Services のセットアップ プロセス中に入力された正確なテキストです。 このテキストは、ファイル名 ( 証明書失効リストなど) またはレジストリ キーに含まれる CA 名の形式とは異なる場合があることに注意してください。 これは、ファイル名とレジストリ キーで CA 名の サニタイズされた バージョンが使用されるためです。

CA 名をサニタイズするプロセスは、ファイル名、レジストリ キー名、または識別名の値に対して無効な文字、または証明書サービスに固有の理由で無効な文字を削除するために必要です。 サニタイズ プロセスでは、共通名の無効な文字は、 形式で 5 文字の表現に変換されます xxxx。感嘆符 (!) がエスケープ文字として使用され、 xxxx は変換する文字を一意に識別する 4 つの 16 進数を表します。

たとえば、Active Directory ディレクトリ サービスの識別名では、番号記号 (#) は使用できません。 セットアップ中に入力した CA 名が #YourName の場合、サニタイズされた CA 名は !0023YourName になります

セットアップ中に CA の共通名に次の文字を入力すると、 は に変換されます。サニタイズ プロセス中の xxxx 形式。 この一覧は変更されることがあります。

文字 !xxxx 形式の値
< !003c
> !003e
" !0022
/ !002f
\ !005c
: !003a
| !007c
? !003f
* !002a
# !0023
, !002c
+ !002b
; !003b
! !0021
 

非印刷文字と、7 ビットではないすべての Unicode 文字も に変換されます xxxx 形式。

サニタイズされた短い名前は、 サニタイズされた名前 が 64 文字のディレクトリ サービス の相対識別名 (RDN) に対して長すぎる場合に生成されます。 サニタイズされた短い名前は、サニタイズされた名前が切り捨てられ、完全なサニタイズされた名前の ハッシュ が付加されて構成されます。 サニタイズされた短い名前では、 証明書失効リスト (CRL) サフィックス (123) などの 64 文字の一部が予約されます。

このメソッドによって返される構成文字列の CA 名部分は、セットアップ時に入力された元のテキストです。 パラメーターとして CA 名を必要とする Certificate Services メソッドは、最初に入力した CA 名を受け入れることに注意してください。 たとえば、CA 名 #YourName の場合
ICertView2::OpenConnection メソッドは、パラメーターの # CA 部分として YourName を受け入れます。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certcli.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certcli.dll

こちらもご覧ください

ICertConfig2::GetConfig

ICertGetConfig

ICertView2::OpenConnection