配置 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 设置。
    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 应用程序使用 应用程序池 标识属性运行。智能卡身份验证需要委派,为此,Director 应用程序标识必须在服务主机上具有可信计算基 (TCB) 权限。
Citrix 建议您为应用程序池标识创建一个单独的服务帐户。根据 Microsoft MSDN 文章 Protocol Transition with Constrained Delegation Technical Supplement 中的说明创建服务帐户并分配 TCB 权限。
将新创建的服务帐户分配给 Director 应用程序池。下图显示了示例服务帐户“Domain Pool”的属性对话框。
示例服务帐户
为此帐户配置以下服务:
  • 交付控制器™: HOST, HTTP
  • 监控器: HOST, HTTP
  • 活动目录: GC, LDAP
要配置,
  1. 在用户帐户属性对话框中,单击“添加”。
  2. 在“添加服务”对话框中,单击“用户”或“计算机”。
  3. 选择 Delivery Controller 主机名。
  4. 在“可用服务”列表中,选择 HOST 和 HTTP 服务类型。
配置服务(/en-us/citrix-virtual-apps-desktops/2507-ltsr/media/dir-smartcard-config4.png)
同样,为 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/2507-ltsr/media/dir-smart-card-auth-2.png)
  • 在左侧窗格中选择 Director 虚拟目录,然后双击“应用程序设置”。在“应用程序设置”窗口中,单击“添加”并确保 AllowKerberosConstrainedDelegation 设置为 1。
Kerberos 协议
  • 在左侧窗格中选择“应用程序池”,然后右键单击 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 浏览器,请安装以下位置提供的 PIV 驱动程序:OpenSC 0.17.0。有关安装和配置说明,请参阅在 Firefox 中安装 OpenSC PKCS#11 模块,分步指南。 有关 Director 中智能卡身份验证功能的使用信息,请参阅 Director 文章中的将 Director 与基于 PIV 的智能卡身份验证结合使用部分。