配置 PIV 智能卡身份验证

Last published : Nov 13, 2026
本文列出了在 Director 服务器和 Active Directory 中启用智能卡身份验证功能所需的配置。
注意:
智能卡身份验证仅支持来自同一 Active Directory 域的用户。

Director 服务器配置

在 Director 服务器上执行以下配置步骤:
  1. 安装并启用客户端证书映射身份验证。请遵循 Microsoft 文档 客户端证书映射身份验证 中的“使用 Active Directory 进行客户端证书映射身份验证”说明。
  2. 在 Director 站点上禁用表单身份验证。
    启动 IIS 管理器。
    转至“站点” \> “默认网站” \> “Director”。
    选择“身份验证”。
    右键单击“表单身份验证”,然后选择“禁用”。
    禁用表单身份验证
  3. 为客户端证书身份验证配置 Director URL,使用更安全的 https 协议(而不是 HTTP)。
    1. 启动 IIS 管理器。
    2. 转至“站点” \> “默认网站” \> “Director”。
    3. 选择 SSL Settings。
    4. 选择 要求 SSL 和 客户端证书 \> 要求。
    SSL 设置
  4. 更新 web.config。打开 web.config 文件(位于 c:\inetpub\wwwroot\Director)并使用文本编辑器打开。
在 <system.webServer> 父元素下,将以下代码片段添加为第一个子元素:
&lt;defaultDocument>
   &lt;files>
       &lt;add value="LogOn.aspx"/>
   &lt;/files>
&lt;/defaultDocument>

活动目录配置

默认情况下,Director 应用程序使用 Application Pool 标识属性运行。智能卡身份验证需要委派,为此 Director 应用程序标识必须具有服务主机上的可信计算基 (TCB) 权限。
Citrix 建议您为 Application Pool 标识创建单独的服务帐户。根据 Microsoft MSDN 文章 Protocol Transition with Constrained Delegation Technical Supplement 中的说明创建服务帐户并分配 TCB 权限。
将新创建的服务帐户分配给 Director 应用程序池。下图显示了示例服务帐户 Domain Pool 的属性对话框。
示例服务帐户
为此帐户配置以下服务:
  • 交付控制器™:HOST, HTTP
  • Director 配置:HOST, HTTP
  • 活动目录:GC、LDAP
要配置,
  1. 在用户帐户属性对话框中,单击“添加”。
  2. 在“添加服务”对话框中,单击“用户”或“计算机”。
  3. 选择 Delivery Controller 主机名。
  4. 从“可用服务”列表中,选择 HOST 和 HTTP 服务类型。
配置服务
同样,为 Director 和 Active Directory 主机添加服务类型。

创建服务主体名称记录

必须为每个 Director 服务器以及用于访问 Director 服务器池的负载均衡虚拟 IP (VIP) 创建一个服务帐户。必须创建服务主体名称 (SPN) 记录,以配置对新创建的服务帐户的委派。
  • 使用以下命令为 Director 服务器创建 SPN 记录:
      setspn -a http/<directorServer>.<domain_fqdn> <domain>\<DirectorAppPoolServiceAcct>
  • 使用以下命令为负载均衡 VIP 创建 SPN 记录:
      setspn -S http/<DirectorFQDN> <domain>\<DirectorAppPoolServiceAcct>
  • 使用以下命令查看或测试创建的 SPN:
     setspn –l <DirectorAppPoolServiceAcct>
智能卡(/en-us/citrix-virtual-apps-desktops/current-release/media/dir-smart-card-auth-2.png)
  • 在左侧窗格中选择 Director 虚拟目录,然后双击“应用程序设置”。在“应用程序设置”窗口中,单击“添加”并确保 AllowKerberosConstrainedDelegation 设置为 1。
科尔贝罗斯(/en-us/citrix-virtual-apps-desktops/current-release/media/dir-smart-card-auth-3.png)
  • 在左侧窗格中选择“应用程序池”,然后右键单击 Director 应用程序池并选择“高级设置”。
  • 选择 Identity,单击省略号 (“…”) 以输入服务帐户域\登录名和密码凭据。关闭 IIS 控制台。
身份
  • 从提升的命令提示符,将目录更改为 C:\Windows\System32\inetsrv 并输入以下命令:
   appcmd.exe set config “Default Web Site” -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:”True” /commit:apphost

    appcmd.exe set config “Default Web Site” -section:system.webServer/security/access /sslFlags:”Ssl, SslNegotiateCert” /commit:apphost
命令提示符

Firefox 浏览器配置

要使用 Firefox 浏览器,请安装 OpenSC 0.17.0 中提供的 PIV 驱动程序。有关安装和配置说明,请参阅 在 Firefox 中逐步安装 OpenSC PKCS#11 模块。 有关 Director 中智能卡身份验证功能用法的信息,请参阅 Director 文章中的 将 Director 与基于 PIV 的智能卡身份验证结合使用 部分。