次の方法で共有


IX509Enrollment2::InstallResponse2 メソッド (certenroll.h)

InstallResponse2 メソッドは、エンド エンティティ コンピューターに証明書チェーンをインストールします。 応答を含むバイト配列は、抽象構文表記法 1 (ASN.1) 標準で定義されているDistinguished Encoding Rules (DER) を使用してエンコードされます。 DER でエンコードされたバイト配列は、純粋なバイナリ シーケンスまたは Unicode でエンコードされた文字列で指定する必要があります。 このメソッドは Web 対応です。

構文

HRESULT InstallResponse2(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword,
  [in]           BSTR                            strEnrollmentPolicyServerUrl,
  [in]           BSTR                            strEnrollmentPolicyServerID,
  [in]           PolicyServerUrlFlags            EnrollmentPolicyServerFlags,
  [in]           X509EnrollmentAuthFlags         authFlags
);

パラメーター

[in] Restrictions

インストールできる証明書の種類を指定する InstallResponseRestrictionFlags 列挙値。 次の値のうち 1 つ以上を指定できます。

意味
AllowNone
信頼されていない証明書や、対応する要求がない証明書はインストールしないでください。
AllowNoOutstandingRequest
ダミー証明書からではなく、証明書の応答から 秘密キー を作成します。 これにより、ダミー証明書が省略可能になります。 この値が設定されていない場合は、ダミー証明書が存在する必要があり、そこから秘密キーが抽出されます。
AllowUntrustedCertificate
信頼されていないエンド エンティティと 証明機関の証明書を インストールします。 証明機関の証明書には、ルート CA 証明書と下位 CA 証明書が含まれます。 エンド エンティティ証明書は個人用ストアにインストールされ、CA 証明書は証明機関ストアにインストールされます。
AllowUntrustedRoot
AllowUntrustedCertificate フラグと同じアクションを実行しますが、ルートが信頼されていないために証明書チェーンを構築できない場合でも、証明書をインストールします。
メモ Windows Vista では、このフラグの動作は AllowUntrustedCertificate フラグに定義されている動作と同じです。 SP1 を使用した Windows Vista 以降では、信頼されていないルートをインストールできます。
 

[in] strResponse

DER でエンコードされた応答を含む BSTR 変数。

[in] Encoding

DER でエンコードされた応答を含む文字列に適用されるエンコードの種類を指定する EncodingType 列挙値。

[in, optional] strPassword

証明書のインストール用の省略可能なパスワード。 パスワードが使用されていないことを示す NULL を 指定できます。 パスワードの使用が完了したら、 SecureZeroMemory 関数を呼び出してメモリから消去します。 パスワードの保護の詳細については、「パスワードの 処理」を参照してください。

[in] strEnrollmentPolicyServerUrl

証明書登録ポリシー (CEP) サーバーの URL を含む BSTR

[in] strEnrollmentPolicyServerID

CEP サーバーの識別子を含む BSTR

[in] EnrollmentPolicyServerFlags

PolicyServerUrlFlags 列挙値。 次のいずれかの値を指定できます。

意味
PsfLocationGroupPolicy
CEP サーバー URL は、管理者によってグループ ポリシーで指定されます。
PsfLocationRegistry
CEP サーバー URL はレジストリで指定されています。
PsfUseClientId
証明書の登録と更新に ClientId 属性にクライアント固有のデータが含まれることを指定します。 たとえば、暗号化サービス プロバイダーの名前、Windows のバージョン番号、ユーザー名、コンピューターの DNS 名、ドメイン コントローラーの DNS 名などがあります。 このフラグは、グループ ポリシーによって設定できます。

このフラグは、ユーザーが存在するフォレストを管理する管理者以外の管理者が管理するサーバーへの登録中に発生する可能性があるプライバシーに関する懸念に対処するために含まれています。 このフラグを設定しないと、ローカル以外の管理者に個人情報が送信されないようにすることができます。

PsfAutoEnrollmentEnabled
証明書の自動登録が有効になっています。
PsfAllowUnTrustedCA
CA によって署名された証明書をインストールするために、発行元 CA の証明書をクライアントが信頼する必要がないように指定します。

[in] authFlags

クライアント認証の種類を指定する X509EnrollmentAuthFlags 列挙値。 Windows 7 の場合、 X509AuthCertificate のみを次の値から選択できます。

意味
X509AuthAnonymous
匿名認証。
X509AuthKerberos
Kerberos 認証。
X509AuthUsername
テキスト のユーザー名とパスワード認証をクリアします。
メモ ユーザー名とパスワードは転送前に暗号化され、CEP サーバーの資格情報コンテナーに安全に格納されます。
 
X509AuthCertificate
ローカル コンピューターにインストールされ、サーバーがクライアントの ID を確認するために使用するクライアント認証証明書。

戻り値

関数が成功した場合、関数は S_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

リターン コード 説明
E_ACCESSDENIED
このメソッドは Web から呼び出され、 AllowNoOutstandingRequest または AllowUntrustedCertificateRestrictions パラメーターで指定されました。
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
パスワードを含む文字列の長さが 64 キロバイトを超えています。
OLE_E_BLANK
登録オブジェクトが初期化されていません。

注釈

InstallResponse2 メソッド:

  1. 外部ストアからダミー証明書を取得します。
  2. 応答に含まれる証明書を取得し、コンピューターにインストールします。
  3. 外部ストアのダミー証明書から、個人用ストアに新しくインストールされた証明書にプロパティをコピーします。

InstallResponse2 メソッドを呼び出す前に、次のいずれかのメソッドを呼び出して IX509Enrollment オブジェクトを初期化する必要があります。

Web からこのメソッドを呼び出す場合は、Restrictions パラメーターに AllowNone または AllowUntrustedRoot のみを指定できます。 AllowNoOutstandingRequest または AllowUntrustedCertificate を指定した場合、メソッドはE_ACCESSDENIED エラーを返します。

最後の 4 つのパラメーター (strEnrollmentPolicyServerUrlstrEnrollmentPolicyServerIDEnrollmentPolicyServerFlagsおよび authFlags) は 、InstallResponse メソッドには含まれません。 ICertPropertyEnrollmentPolicyServer インターフェイスとほとんど同じ方法で、インストールされている証明書にプロパティ値を追加できます。

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h

こちらもご覧ください

IX509Enrollment2