第 9 章 使用带有智能卡的 PKINIT,以活动目录用户身份进行身份验证
活动目录(AD)用户可以使用智能卡对加入到 IdM 的桌面客户端系统进行身份验证,并获取 Kerberos 票据授予票据(TGT)。这些票据可用于客户端的单点登录(SSO)身份验证。
先决条件
- 已为智能卡验证配置了客户端。
-
krb5-pkinit
软件包已安装。 - AD 服务器被配置为信任签发智能卡证书的证书颁发机构(CA)。将 CA 证书导入到 NTAuth 存储(请参阅 Microsoft 支持),并将 CA 添加为可信 CA。详情请查看活动目录文档。
步骤
将 Kerberos 客户端配置为信任签发智能卡证书的 CA:
-
在 IdM 客户端上,打开
/etc/krb5.conf
文件。 在文件中添加以下行:
[realms] AD.DOMAIN.COM = { pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = adserver.ad.domain.com }
-
在 IdM 客户端上,打开
如果用户证书不包含证书撤销列表(CRL)分布点扩展,请将 AD 配置为忽略撤销错误:
将以下 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
或者,您可以使用
regedit.exe
应用程序手动设置值。- 重启 Windows 系统以应用更改。
在身份管理客户端上使用
kinit
工具进行身份验证。使用用户名和域名指定活动目录用户:$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@AD.DOMAIN.COM
-X
选项将opensc-pkcs11.so 模块
指定为预身份验证属性。
其他资源
-
kinit(1)
手册页。