IX509Enrollment::InstallResponse メソッド (certenroll.h)

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

構文

HRESULT InstallResponse(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword
);

パラメーター

[in] Restrictions

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

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

[in] strResponse

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

[in] Encoding

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

[in, optional] strPassword

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

Windows 8 および Windows Server 2012 以降では、NULL または空のパスワードは、PFX パケットが PKCS12_PROTECT_TO_DOMAIN_SIDS フラグを使用して PFXExportCertStoreEx 関数に作成されたことを意味する場合があります。 その場合、PFX は Active Directory グループに暗号化されました。 詳細については、「 PFXExportCertStoreEx 」および「 PFXImportCertStore」を参照してください

戻り値

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

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

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

解説

InstallResponse メソッド:

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

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

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

要件

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

関連項目

IX509Enrollment