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

InstallResponse2 メソッドは、エンド エンティティ コンピューターに証明書チェーンをインストールします。 応答を含むバイト配列は、抽象構文表記法 1 (ASN.1) 標準で定義されている識別エンコード規則 (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 つ以上を指定できます。

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

[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 列挙値。 次のいずれかの値を指定できます。

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

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

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

[in] authFlags

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

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

戻り値

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

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 使用できる値には、次の表に示す値が含まれますが、これらに限定されません。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

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

注釈

InstallResponse2 メソッド:

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

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

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

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

Requirements

Requirement 価値
サポートされる最小クライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
Header certenroll.h

こちらも参照ください

IX509Enrollment2