ICertificateEnrollmentPolicyServerSetup::Install メソッド (casetup.h)

Install メソッドは、ICertificateEnrollmentPolicyServerSetup オブジェクトによって構成された証明書登録ポリシー (CEP) Web サービスをインストールします。

構文

HRESULT Install();

戻り値

リターン コード 説明
E_UNEXPECTED
イベント トレース ディレクトリまたはアプリケーション ディレクトリに指定された名前は既に存在していますが、ディレクトリではなくファイルを表しています。
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)
CEP アプリケーションは既に存在します。 詳細については、「解説」を参照してください。
HRESULT_FROM_WIN32(ERROR_INVALID_STATE)
ICertificateEnrollmentPolicyServerSetup オブジェクトが初期化されていません。

ErrorString プロパティの値が "セットアップ オブジェクトが初期化されていません。 InitializeInstallDefaults メソッドを使用してセットアップ オブジェクトを初期化してください。

注釈

この関数は、次のアクションを実行します。

  • Windows Management Instrumentation (WMI) を初期化します。
  • 同じ名前のアプリケーションがまだ存在しないことを確認して、CEP 構成を検証します。 アプリケーション名は CEP URL の一部であり、URL は "https:// computerDNSname/ADPolicyProvider_cep_AuthenticationType/service.svc/cep" という形式です。 アプリケーション名は "ADPolicyProvider_cep_AuthenticationType" で構成されます。 AuthenticationType は次のいずれかになります。
    • Kerberos
    • usernamepassword
    • 証明書 (certificate)
    メモ 同じ名前のアプリケーションが存在する場合、 ErrorString プロパティは "既定の Web サイトに既に存在するため、このロール サービスを追加できませんでした。 既存のロール サービスを削除するか、別の証明機関 (CA) または認証の種類を選択してください。"
     
  • %windir%\systemdata\cep\ADPolicyProvider_cep_AuthenticationType アプリケーション ディレクトリを作成します。
    メモ 指定した名前が既にディレクトリとして存在する場合、または指定した名前がファイルとして存在する場合、または他のエラーが発生した場合、このメソッドはエラー HRESULT を返し、 ErrorString プロパティを "ディレクトリ %1 の作成に失敗しました" に設定します。
     
  • %windir%\systemdata\cep\ADPolicyProvider_cep_AuthenticationType\Traces イベント トレース ディレクトリを作成します。
  • Web.config ファイルと Service.svc ファイルを作成し、アプリケーション ディレクトリに書き込みます。 ファイルが既に存在する場合は、上書きされます。
  • IIS アプリケーション プールを作成します。 既定では、プールは ApplicationPoolIdentity アカウントで実行されます。
  • 既定の Web サイトにアプリケーションを作成します。
  • ポート 443 へのセキュリティで保護された (https) バインディングを作成し、 SetProperty メソッドを呼び出して構成中に証明書ハッシュが指定されている場合は、証明書ハッシュを設定します。
  • SetProperty を呼び出し、pPropertyValue 引数に X509AuthCertificate または X509AuthUsername を指定した場合、IIS 認証を匿名に設定します。 SetProperty を呼び出し、X509AuthKerberos を指定した場合は、認証を Windows に設定します。
  • 構成中に選択された認証の種類に応じて SSL フラグを設定します。 すべての認証の種類の既定のフラグは、SSL (セキュリティで保護されたチャネルが必要) とSSL_128 (128 ビット暗号化) です。 さらに、X509AuthCertificate を指定すると、SSL_REQUIRE_CERTフラグとSSL_NEGOTIATE_CERT フラグが設定されます。
  • イベント トレース ディレクトリへの読み取りおよび書き込みアクセスを追加します。
  • Active Directory の Deleted Objects コンテナーのセキュリティ記述子を更新して、コンピューターやアプリケーション プールによるアクセスを許可します。 これにより、CEP サービスは、関連する Active Directory オブジェクトが削除されたときに証明機関に通知できます。 Active Directory がドメイン コントローラーにインストールされている場合、コンピューターとアプリケーション プールの両方で、Deleted Objects コンテナーへのアクセスが許可されます。 Active Directory がドメイン コントローラーにインストールされていない場合は、コンピューターのみがアクセスできます。
    メモ Deleted Objects コンテナーへのアクセスが失敗した場合、メソッドはエラー HRESULT を返し、 ErrorString プロパティを ""Deleted Objects" コンテナーに対する証明書登録ポリシー Web サービス アカウントリストアクセス許可を付与できません。 Web サービスは、証明書テンプレートなどの Active Directory オブジェクトの削除を検出できません。 セットアップを完了するには、Domain Admins グループのメンバーが、Active Directory Domain Services (AD DS) の "削除済みオブジェクト" コンテナーに対する証明書登録ポリシー Web サービス アカウントリストのアクセス許可を手動で付与する必要があります。
     

要件

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

こちらもご覧ください

ICertificateEnrollmentPolicyServerSetup

SetProperty