ICertificateEnrollmentPolicyServerSetup::Install 方法 (casetup.h)

Install 方法 (CEP) 由 ICertificateEnrollmentPolicyServerSetup 对象配置的 Web 服务安装证书注册策略。

语法

HRESULT Install();

返回值

返回代码 说明
E_UNEXPECTED
为事件跟踪目录或应用程序目录指定的名称已经存在,但表示文件而不是目录。
HRESULT_FROM_WIN32 (ERROR_ALREADY_EXISTS)
CEP 应用程序已存在。 有关详细信息,请参阅“备注”。
HRESULT_FROM_WIN32 (ERROR_INVALID_STATE)
ICertificateEnrollmentPolicyServerSetup 对象尚未初始化。

ErrorString 属性值设置为“尚未初始化安装程序对象。 请使用 InitializeInstallDefaults 方法初始化安装程序对象。”

注解

此函数执行以下操作:

  • (WMI) 初始化 Windows Management Instrumentation。
  • 通过验证同名的应用程序不存在来验证 CEP 配置。 应用程序名称是 CEP URL 的一部分,其中 URL 的格式为“https:// computerDNSname/ADPolicyProvider_cep_AuthenticationType/service.svc/cep”。 应用程序名称由“ADPolicyProvider_cep_AuthenticationType”组成,其中 AuthenticationType 可以是下列项之一:
    • Kerberos
    • usernamepassword
    • 证书 (certificate)
    注意 如果存在同名的应用程序, 则 ErrorString 属性设置为“安装程序无法添加此角色服务,因为它已存在于默认网站中。 请删除现有角色服务,或选择其他证书颁发机构 (CA) 或身份验证类型。”
     
  • 创建 %windir%\systemdata\cep\ADPolicyProvider_cep_AuthenticationType 应用程序目录。
    注意 如果指定的名称已作为目录存在,则此方法不会返回错误,但如果指定的名称作为文件存在,或者发生其他错误,该方法将返回失败 HRESULT 并将 ErrorString 属性设置为“无法创建目录 %1”。
     
  • 创建 %windir%\systemdata\cep\ADPolicyProvider_cep_AuthenticationType\Traces 事件跟踪目录。
  • 创建 Web.config 和 Service.svc 文件,并将其写入应用程序目录。 如果文件已存在,则会覆盖它们。
  • 创建 IIS 应用程序池。 默认情况下,池在 ApplicationPoolIdentity 帐户下运行。
  • 在默认网站中创建应用程序。
  • 创建安全 (https) 绑定到端口 443,并在配置过程中通过调用 SetProperty 方法指定证书哈希时设置证书哈希。
  • 如果调用 了 SetProperty 并在 pPropertyValue 参数中指定了 X509AuthCertificate 或 X509AuthUsername,则将 IIS 身份验证设置为匿名。 如果调用 了 SetProperty 并指定了 X509AuthKerberos,请将身份验证设置为 Windows。
  • 根据配置期间选择的身份验证类型设置 SSL 标志。 所有身份验证类型的默认标志都是 SSL (需要安全通道) 和SSL_128 (128 位加密) 。 此外,如果指定 X509AuthCertificate,则会设置SSL_REQUIRE_CERT和SSL_NEGOTIATE_CERT标志。
  • 添加对事件跟踪目录的读取和写入访问权限。
  • 汇报 Active Directory 中已删除对象容器的安全描述符,以允许计算机和/或应用程序池进行访问。 这使 CEP 服务能够在删除相关的 Active Directory 对象时通知证书颁发机构。 如果在域控制器上安装 Active Directory,则允许计算机和应用程序池访问已删除的对象容器。 如果未在域控制器上安装 Active Directory,则仅允许计算机访问。
    注意 如果访问已删除的对象容器失败,该方法将返回失败 HRESULT 并将 ErrorString 属性设置为“安装程序无法为”已删除的对象“容器授予证书注册策略 Web 服务帐户列表权限。 Web 服务将无法检测 Active Directory 对象(如证书模板)的删除。 若要完成安装,域管理员组的成员必须手动授予证书注册策略 Web 服务帐户对 Active Directory 域服务 (AD DS) 中的“已删除对象”容器的列出权限。
     

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 casetup.h
DLL Certocm.dll

另请参阅

ICertificateEnrollmentPolicyServerSetup

SetProperty