配置客户端证书和 LDAP 双因素身份验证

Last published : Oct 14, 2026
您可以使用安全的客户端证书进行 LDAP 身份验证和授权,例如使用智能卡身份验证与 LDAP。用户登录后,用户名将从客户端证书中提取。客户端证书是主要的身份验证形式,LDAP 是次要形式。客户端证书身份验证必须优先于 LDAP 身份验证策略。设置策略优先级时,请为客户端证书身份验证策略分配一个低于 LDAP 身份验证策略的数字。
要使用客户端证书,您必须拥有企业证书颁发机构 (CA),例如 Windows Server 2008 中的证书服务,它运行在与 Active Directory 相同的计算机上。您可以使用 CA 创建客户端证书。
要将客户端证书与 LDAP 身份验证和授权结合使用,它必须是使用安全套接字层 (SSL) 的安全证书。要将安全的客户端证书用于 LDAP,请在用户设备上安装客户端证书,并在 NetScaler Gateway 上安装相应的根证书。
在配置客户端证书之前,请执行以下操作:
  • 创建虚拟服务器。
  • 为 LDAP 服务器创建 LDAP 身份验证策略。
  • 将 LDAP 策略的表达式设置为 True 值。

配置使用 LDAP 的客户端证书身份验证

  1. 在配置实用程序中,在“配置”选项卡上,展开 NetScaler Gateway \> 策略 \ > 身份验证。
  2. 在导航窗格中,在“身份验证”下,单击“证书”。
  3. 在详细信息窗格中,单击“添加”。
  4. 在“名称”中,键入策略的名称。
  5. 在“身份验证类型”中,选择“证书”。
  6. 在“服务器”旁边,单击“新建”。
  7. 在“名称”中,键入服务器的名称,然后单击“创建”。
  8. 在“创建身份验证服务器”对话框的“名称”中,键入服务器的名称。
  9. 在“双因素”旁边,选择“开”。
  10. 在“用户名”字段中,选择“主题:CN”,然后单击“创建”。
  11. 在“创建身份验证策略”对话框中,在“命名表达式”旁边,选择“True 值”,单击“添加表达式”,单击“创建”,然后单击“关闭”。
创建证书身份验证策略后,将策略绑定到虚拟服务器。绑定证书身份验证策略后,将 LDAP 身份验证策略绑定到虚拟服务器。
重要提示:
必须先将证书身份验证策略绑定到虚拟服务器,然后才能将 LDAP 身份验证策略绑定到虚拟服务器。

在 NetScaler Gateway 上安装根证书

创建证书身份验证策略后,您将从 CA 下载并安装 Base64 格式的根证书,并将其保存到计算机上。然后,您可以将根证书上传到 NetScaler Gateway。
  1. 在配置实用程序中,在“配置”选项卡上的导航窗格中,展开“SSL”,然后单击“证书”。
  2. 在详细信息窗格中,单击“安装”。
  3. 在“证书 - 密钥对名称”中,键入证书的名称。
  4. 在“证书文件名”中,单击“浏览”,然后在列表中选择“设备”或“本地”。
  5. 导航到根证书,单击“打开”,然后单击“安装”。

将根证书添加到虚拟服务器

在 NetScaler Gateway 上安装根证书后,将该证书添加到虚拟服务器的证书存储中。
重要提示:
当您将根证书添加到虚拟服务器以进行智能卡身份验证时,您必须从 选择 CA 证书 列表框中选择证书,如下图所示。
图 1. 将根证书添加为 CA
添加根证书
  1. 在配置实用程序中,在“配置”选项卡上的导航窗格中,展开“NetScaler Gateway”,然后单击“虚拟服务器”。
  2. 在详细信息窗格中,选择一个虚拟服务器,然后单击“打开”。
  3. 在“证书”选项卡上,在“可用”下,选择证书,在“添加”旁边,在列表中单击“CA”,然后单击“确定”。
  4. 重复步骤 2。
  5. 在“证书”选项卡上,单击“SSL 参数”。
  6. 在“其他”下,选择“客户端身份验证”。
  7. 在“其他”下,在“客户端证书”旁边,选择“可选”,然后单击“确定”两次。
  8. 配置客户端证书后,使用 Citrix Secure Access 客户端登录 NetScaler Gateway 以测试身份验证。如果安装了多个证书,系统会提示您选择正确的证书。选择证书后,将显示登录屏幕,其中用户名已填充从证书获取的信息。键入密码,然后单击“登录”。
如果您在登录屏幕的“用户名”字段中没有看到正确的用户名,请检查 LDAP 目录中的用户帐户和组。在 NetScaler Gateway 上定义的组必须与 LDAP 目录中的组相同。在 Active Directory 中,在域根级别配置组。如果您创建的 Active Directory 组不在域根级别,则可能导致客户端证书读取不正确。
如果用户和组不在域根级别,NetScaler Gateway 登录页面会显示在 Active Directory 中配置的用户名。例如,在 Active Directory 中,您有一个名为 Users 的文件夹,并且证书显示 CN=Users。在登录页面中,“用户名”字段会显示“Users”一词。
如果您不想将组和用户帐户移动到根域级别,在 NetScaler Gateway 上配置证书身份验证服务器时,请将“用户名”字段和“组名”字段留空。