第 9 章 使用带有智能卡的 PKINIT,以活动目录用户身份进行身份验证


活动目录(AD)用户可以使用智能卡向加入到 IdM 的桌面客户端系统进行身份验证,并从客户端获取用于单点登录(SSO)身份验证的 Kerberos 票据授予票据(TGT)。这个过程适用于需要智能卡验证的 AD 用户帐户,这防止它们使用基于密码的登录。

重要

您不能使用这些指令来访问 IdM 资源,应为其 Kerberos 服务有 pkinit 身份验证指示器要求。这是因为进程从 Active Directory Kerberos 分发中心(AD KDC),而不是从 IdM KDC 获取 TGT 。因此,TGT 不包含必要的身份验证指示器,IdM 服务将拒绝您的访问。

要为 IdM 用户启用 PKINIT 身份验证来访问 IdM 服务,请参阅 管理 Kerberos 票据策略

先决条件

流程

  1. 将 Kerberos 客户端配置为信任签发智能卡证书的 CA:

    1. 在 IdM 客户端上,打开 /etc/krb5.conf 文件。
    2. 在文件中添加以下行:

      [realms]
        AD.DOMAIN.COM = {
          pkinit_eku_checking = kpServerAuth
          pkinit_kdc_hostname = adserver.ad.domain.com
        }
      Copy to Clipboard Toggle word wrap
  2. 如果用户证书不包含证书撤销列表(CRL)分布点扩展,请将 AD 配置为忽略撤销错误:

    1. 将以下 REG 格式的内容保存在一个纯文本文件中,并将其导入到 Windows 注册表:

      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc]
      "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\Kerberos\Parameters]
      "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001
      Copy to Clipboard Toggle word wrap

      或者,您可以使用 regedit.exe 应用程序手动设置值。

    2. 重启 Windows 系统以应用更改。
  3. 在身份管理客户端上使用 kinit 工具进行身份验证。使用用户名和域名指定活动目录用户:

    $ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@AD.DOMAIN.COM
    Copy to Clipboard Toggle word wrap

    -X 选项将 opensc-pkcs11.so 模块 指定为预身份验证属性。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat