通过 MSCEWS 使用 Microsoft 证书颁发机构管理证书

本节提供有关配置“证书注册策略 Web 服务 (CEP)”和“证书注册 Web 服务 (CES)”的信息。由于 Microsoft 建议在两台不同的机器上安装 CEP 和 CES,我们在本文档中也遵循相同的原则。我们分别将这些 Web 服务称为 CEP 服务器和 CES 服务器。

注意: 用户必须拥有预配置的“企业证书颁发机构 (CA)”和域控制器。

系统要求

Windows Server 2012 R2 和以后的操作系统用于本节中的所有设置。除非另有规定,否则以下安装要求和功能同时适用于 CEP 和 CES。

在域控制器中创建以下类型的帐户:

网络连接性要求

为 CEP 和 CES 服务器创建 SSL 证书

CES 和 CEP 必须使用“安全套接字层 (SSL)”与客户端进行通信(通过使用 HTTPS)。每个服务都必须有一个有效的证书,它在本地计算机证书存储中具有服务器身份验证的“增强型密钥使用 (EKU)”策略。

  1. 在服务器中安装 IIS 服务。

  2. 登录到 CEP 服务器,然后在受信任的根证书颁发机构存储中添加根 CA 证书。

  3. 启动 IIS 管理器控制台,然后选择服务器主页

  4. 从主视图部分,打开服务器证书

  5. 单击操作 > 创建证书请求

  6. 在可分辨名称属性窗口中,提供必要的信息,然后单击下一步

  7. 在加密服务提供程序属性对话中,选择位长度,然后单击下一步

  8. 保存文件。

  9. 获取您计划用于 CEP 和 CES 的 CA 签名的文件。

    注意: 确保在签名证书中启用服务器身份验证 EKU。
  10. 将签名文件复制回 CEP 服务器。

  11. 从 IIS 管理器控制台,选择服务器主页

  12. 从主视图部分,打开服务器证书

  13. 单击操作 > 完成证书请求

  14. 在指定证书颁发机构响应窗口中,选择签名文件。

  15. 键入名称,然后在证书存储菜单中,选择个人

  16. 完成证书安装。

  17. 从 IIS 管理器控制台,选择默认网站。

  18. 单击操作 > 绑定

  19. 在网站绑定对话中,单击添加

  20. 在添加网站绑定对话中,将类型设置为 https,然后从 SSL 证书浏览新创建的证书。

  21. 从 IIS 管理器控制台,选择默认 Web 站点,然后打开 SSL 设置。

  22. 启用要求 SSL,并将客户端证书设置为忽略

  23. 重新启动 IIS。

注意: 对 CES 服务器遵循相同的过程。

创建证书模板

用户必须为证书注册创建证书模板。执行以下操作以从现有的证书模板进行复制:

  1. 使用 CA 管理员凭证登录到企业 CA。

  2. 展开 CA,用鼠标右键单击证书模板,然后单击管理

  3. 在证书模板控制台中,用鼠标右键单击 Web 服务器证书模板,然后单击复制模板

  4. 从模板的常规选项卡,将模板命名为 MVEWebServer

  5. 在安全选项卡中,授予 CA 管理员以注册权限。

  6. 向已通过身份验证的用户授予注册权限。

  7. 在主题名称选项卡中,选择请求中的耗材

  8. 在常规选项卡中,设置证书有效期。

  9. 如果您计划使用此证书模板为打印机颁发 802.1x 证书,请执行以下操作:

    1. 扩展选项卡,从此模板包含的扩展列表中选择应用程序策略

    2. 单击编辑 > 添加

    3. 在添加应用程序策略对话框中,选择客户端身份验证

    4. 单击确定

  10. 在证书模板属性对话框中,单击确定

  11. 在 CA 窗口中,用鼠标右键单击证书模板,然后单击新建 > 证书模板

  12. 选择 MVEWebServer,然后单击确定

理解验证方法

CEP 和 CES 支持以下身份验证方法:

Windows 集成身份验证

Windows 集成身份验证使用 Kerberos 为连接到内部网络的设备提供不间断的身份验证流。此方法是内部部署的首选方法,因为它使用 AD DS 中现有的 Kerberos 基础机构。它还需要对证书客户端计算机进行最少的更改。

注意: 如果需要客户端在直接连接到内部网络时访问 Web 服务,请使用此身份验证方法。

客户端证书身份验证

此方法优于用户名和密码身份验证,因为它更安全。它不需要直接连接到公司网络。

注意:

用户名和密码身份验证

用户名和密码方法是最简单的身份验证形式。此方法通常用于为不直接连接到内部网络的客户端提供服务。这是比客户端证书身份验证更不安全的身份验证选项,但是它不需要提供证书。

注意: 当您可以访问内部网络或 Internet 上的 Web 服务时,请使用此身份验证方法。

委派要求

委派使服务能够模拟用户或计算机帐户来访问整个网络的资源。

当以下所有场景都适用时,CES 服务器需要委派:

在以下场景中,CES 服务器不需要委派:

注意:

启用委派

  1. 要为域用户帐户创建 SPN,请按如下方式使用 setspn 命令:

    setspn -s http/ces.msca.com msca\CESSvc

    注意:

    • 帐户名称是 CESSvc。
    • CES 在 msca.com 域中具有 ces.msca.com 的完全合格域名 (FQDN) 的计算机上运行。
  2. 运行 setspn 命令后,在域控制器中打开 CESSvc 域用户帐户。

  3. 从委派选项卡,选择仅信任此用户以委派给指定的服务

  4. 根据身份验证方法选择适当的委派。

    注意:

    • 如果选择 Windows 集成的身份验证,则将委派配置为使用仅 Kerberos
    • 如果该服务使用客户端证书身份验证,则将委派配置为使用任何身份验证协议。
    • 如果您计划配置多个身份验证方法,则将委派配置为使用任何身份验证协议。
  5. 单击添加

  6. 在添加服务对话框中,选择用户计算机

  7. 键入您的 CA 服务器主机名,然后单击检查名称

  8. 从添加服务对话框,选择下面的任一服务以委派:

    • 该 CA 服务器的主机服务 (HOST)

    • 该 CA 服务器的“远程过程调用系统服务 (RPCSS)”

  9. 关闭域用户属性对话框。

配置 Windows 集成身份验证

要安装 CEP 和 CES,请使用 Windows PowerShell。

配置 CEP

Install-AdcsEnrollmentPolicyWebService cmdlet 配置“证书注册策略 Web 服务 (CEP)”。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CEPAdmin 用户名登录到 CES 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Pol

  4. 运行命令 Install-AdcsEnrollmentPolicyWebService -AuthenticationType Kerberos -SSLCertThumbprint "sslCertThumbPrint"

    注意: 删除指纹值之间的空格后,将 <sslCertThumbPrint> 替换为为 CEP 服务器创建的 SSL 证书的指纹。
  5. 通过选择 YA 来完成安装。

  6. 启动“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CEP 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:ADPolicyProvider_CEP_Kerberos

  9. 在名为 Home 的虚拟应用程序中,双击应用程序设置,然后双击 FriendlyName

  10. 在值下面键入一个名称,然后关闭该对话。

  11. 双击 URI,然后复制

    注意:

    • 如果要在同一 CEP 服务器上配置另一种身份验证方法,则必须更改 ID。
    • 此 URL 在 MVE 或任何客户端应用程序中使用。
  12. 从左窗格,单击应用程序池

  13. 选择 WSEnrollmentPolicyServer,然后从右窗格,单击操作 > 高级设置

  14. 选择流程模型下面的标识字段。

  15. 在应用程序池标识对话框中,选择自定义帐户,然后键入 CEPSvc 作为域用户名。

  16. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  17. 从 PowerShell,键入 iisreset 以重新启动 IIS。

配置 CES

Install-AdcsEnrollmentWebService cmdlet 配置“证书注册 Web 服务 (CES)”。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CESAdmin 用户名登录到 CES 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Svc

  4. 运行命令 Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig "CA1.contoso.com\contoso-CA1-CA" -SSLCertThumbprint "sslCertThumbPrint" -AuthenticationType Kerberos

    注意:

    • 删除指纹值之间的空格后,将 <sslCertThumbPrint> 替换为为 CES 服务器创建的 SSL 证书的指纹。
    • CA1.contoso.com 替换为您的 CA 计算机名称。
    • contoso-CA1-CA 替换为您的 CA 公共名。
  5. 通过选择 YA 来完成安装。

  6. 启用“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CES 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:contoso-CA1-CA _CES_Kerberos

  9. 从左窗格,单击应用程序池

  10. 选择 WSEnrollmentPolicyServer,然后从右窗格,单击操作 > 高级设置

  11. 选择流程模型下面的标识字段。

  12. 应用程序池标识对话框中,选择自定义帐户,然后键入 CESSvc 作为域用户名。

  13. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  14. 从 PowerShell,键入 iisreset 以重新启动 IIS。

  15. 对于 CESSvc 域用户,启用委派。如需更多信息,请参阅启用委派

配置客户端证书身份验证

配置 CEP

Install-AdcsEnrollmentPolicyWebService cmdlet 配置 CEP。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CEPAdmin 用户名登录到 CES 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Pol

  4. 运行命令 Install-AdcsEnrollmentPolicyWebService -AuthenticationType Certificate -SSLCertThumbprint “sslCertThumbPrint”

    注意: 删除指纹值之间的空格后,将 <sslCertThumbPrint> 替换为为 CEP 服务器创建的 SSL 证书的指纹。
  5. 通过选择 YA 来完成安装。

  6. 启用“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CEP 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:ADPolicyProvider_CEP_Certificate

  9. 在名为 Home 的虚拟应用程序中,双击应用程序设置,然后双击 FriendlyName

  10. 在值下面键入一个名称,然后关闭该对话。

  11. 双击 URI,然后复制

    注意:

    • 如果要在同一 CEP 服务器上配置另一种身份验证方法,则必须更改 ID。
    • 此 URL 在 MVE 或任何客户端应用程序中使用。
  12. 从左窗格,单击应用程序池

  13. 选择 WSEnrollmentPolicyServer,然后从右窗格,单击操作 > 高级设置

  14. 选择流程模型下面的标识字段。

  15. 在应用程序池标识对话框中,选择自定义帐户,然后键入 CEPSvc 作为域用户名。

  16. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  17. 从 PowerShell,键入 iisreset 以重新启动 IIS。

配置 CES

Install-AdcsEnrollmentWebService cmdlet 配置“证书注册 Web 服务 (CES)”。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CESAdmin 用户名登录到 CES 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Svc

  4. 运行命令 Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig “CA1.contoso.com\contoso-CA1-CA” -SSLCertThumbprint “sslCertThumbPrint” -AuthenticationType Certificate

    注意:

    • 删除指纹值之间的空格后,将 <sslCertThumbPrint> 替换为为 CES 服务器创建的 SSL 证书的指纹。
    • CA1.contoso.com 替换为您的 CA 计算机名称。
    • contoso-CA1-CA 替换为您的 CA 公共名。
    • 如果您已经在主机中配置了一种身份验证方法,请从命令中移除 ApplicationPoolIdentity
  5. 通过选择 YA 来完成安装。

  6. 启用“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CEP 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:contoso-CA1-CA _CES_Certificate

  9. 从左窗格,单击应用程序池

  10. 选择 WSEnrollmentPolicyServer,然后从右窗格,单击操作 > 高级设置

  11. 选择流程模型下面的标识字段。

  12. 在应用程序池标识对话框中,选择自定义帐户,然后键入 CESSvc 作为域用户名。

  13. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  14. 从 PowerShell,键入 iisreset 以重新启动 IIS。

  15. 对于 CESSvc 域用户,启用委派。如需更多信息,请参阅启用委派

配置用户名密码身份验证

配置 CEP

Install-AdcsEnrollmentPolicyWebService cmdlet 配置“证书注册策略 Web 服务 (CEP)”。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CEPAdmin 用户名登录到 CEP 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Pol

  4. 运行命令 Install-AdcsEnrollmentPolicyWebService -AuthenticationType UserName -SSLCertThumbprint “sslCertThumbPrint”

    注意: 删除指纹值之间的空格后,将 <sslCertThumbPrint> 替换为为 CEP 服务器创建的 SSL 证书的指纹。
  5. 通过选择 YA 来完成安装。

  6. 启用“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CEP 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:ADPolicyProvider_CEP_UsernamePassword

  9. 在名为 Home 的虚拟应用程序中,双击应用程序设置,然后双击 FriendlyName

  10. 下面键入一个名称,然后关闭该对话。

  11. 双击 URI,然后复制

    注意:

    • 如果要在同一 CEP 服务器上配置另一种身份验证方法,则必须更改 ID。
    • 此 URL 在 MVE 或任何客户端应用程序中使用。
  12. 从左窗格,单击应用程序池

  13. 选择 WSEnrollmentPolicyServer,然后从右窗口,单击操作 > 高级设置

  14. 选择流程模型下面的标识字段。

  15. 在应用程序池标识对话框中,选择自定义帐户,然后键入 CEPSvc

  16. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  17. 从 PowerShell,键入 iisreset 来重新启动 IIS。

配置 CES

Install-AdcsEnrollmentWebService cmdlet 配置“证书注册 Web 服务 (CES)”。它还用于在现有安装中创建服务的其他实例。

  1. 使用 CESAdmin 用户名登录到 CES 服务器,然后以管理模式启动 PowerShell。

  2. 运行命令 Import-Module ServerManager

  3. 运行命令 Add-WindowsFeature Adcs-Enroll-Web-Svc

  4. 运行命令 Install-AdcsEnrollmentWebService -ApplicationPoolIdentity -CAConfig “CA1.contoso.com\contoso-CA1-CA” -SSLCertThumbprint “sslCertThumbPrint” -AuthenticationType UserName

    注意:

    • 删除指纹值之间的空格后,将 <sslCertThumbprint> 替换为为 CES 服务器创建的 SSL 证书的指纹。
    • CA1.contoso.com 替换为您的 CA 计算机名称。
    • contoso-CA1-CA 替换为您的 CA 公共名。
    • 如果您已经在主机中配置了一种身份验证方法,请从命令中移除 ApplicationPoolIdentity
  5. 通过选择 YA 来完成安装。

  6. 启用“IIS 管理器控制台”。

  7. 在连接窗格中,展开托管 CES 的 Web 服务器。

  8. 展开站点,展开默认 Web 站点,然后单击适当的安装虚拟应用程序名称:contoso-CA1-CA_CES_UsernamePassword

  9. 从左窗格,单击应用程序池

  10. 选择 WSEnrollmentPolicyServer,然后从右窗口,单击操作下面的操作 > 高级设置

  11. 选择流程模型下面的标识字段。

  12. 在应用程序池标识对话框中,选择自定义帐户,然后键入 CESSvc 作为域用户名。

  13. 关闭所有对话框,然后从 IIS 管理器控制台的右窗格回收 IIS。

  14. 从 PowerShell,键入 iisreset 来重新启动 IIS。

配置 MVE

在 MVE 中配置自动证书管理端点之前,必须在 platform.properties 配置文件中进行一些其他更改。

此文件的位置是 <MVE install dir>/Lexmark/Markvision Enterprise/apps/dm-mve/WEB-INF/classes

执行以下步骤:

  1. 在 Notepad++ 或类似的文本编辑器中以管理员模式打开 platform.properties 文件。

  2. 找到 mscews.ces.hostname 键,然后使用 CES 服务器的主机名更改其值。

    注意: 默认值为 cesserver
  3. 找到 mscews.cep.templateName 键,然后使用已创建的模板的名称更改其值。

    注意: 此字段的默认值为 CEPWebServer
  4. 保存文件,然后重新启动 MVE 服务。

  5. 登录到 MVE,转到证书颁发机构页面,然后按照说明来配置服务。

注意: