第 2 章 为智能卡验证配置身份管理


身份管理(IdM)支持使用内部或外部授权机构发布的证书进行智能卡验证。配置 rootca.pem 文件,以便为外部证书颁发机构建立信任,从而实现了跨域的安全访问。

注意

目前,IdM 不支持导入多个共享相同主题区分名称(DN)但加密方式不同的 CA。

2.1. 为智能卡验证配置 IdM 服务器

ipa-advise 工具生成一个配置脚本,来在服务器上启用智能卡验证。此脚本会自动设置 Apache HTTP 服务器、密钥分发中心(KDC)公钥加密,用于 Kerberos (PKINIT)的初始身份验证,以及用于证书处理的 IdM Web UI。

了解如何为证书由身份管理(IdM) CA 信任的 <EXAMPLE.ORG> 域的证书颁发机构(CA)发布的用户启用智能卡验证。

先决条件

  • 有到 IdM 服务器的 root 访问权限。
  • 您有 root CA 证书和所有中间 CA 证书:

    • 为 <EXAMPLE.ORG> CA 直接发布证书的根 CA 的证书,或使用一个或多个其子 CA 发布证书。您可以从颁发机构发布证书的网页下载证书链。
    • IdM CA 证书。您可以从运行 IdM CA 实例的 IdM 服务器上的 /etc/ipa/ca.crt 文件获取 CA 证书。
    • 所有中间 CA 的证书,即介于 <EXAMPLE.ORG> CA 和 IdM CA 之间。

流程

  1. 创建要进行配置的目录:

    [root@server]# mkdir ~/SmartCard/
  2. 进入该目录:

    [root@server]# cd ~/SmartCard/
  3. 获取存储在 PEM 格式文件中的相关 CA 证书。如果您的 CA 证书存储再不同格式的文件中,如 DER,请将其转换为 PEM 格式。IdM 证书颁发机构证书采用 PEM 格式,位于 /etc/ipa/ca.crt 文件中。

    将 DER 文件转换为 PEM 文件:

    # openssl x509 -in <filename>.der -inform DER -out <filename>.pem -outform PEM
  4. 为方便起见,将证书复制到您要进行配置的目录中:

    [root@server SmartCard]# cp /tmp/rootca.pem ~/SmartCard/
    [root@server SmartCard]# cp /tmp/subca.pem ~/SmartCard/
    [root@server SmartCard]# cp /tmp/issuingca.pem ~/SmartCard/
  5. 可选:如果您使用外部证书颁发机构的证书,请使用 openssl x509 工具查看 PEM 格式的文件的内容,以检查 IssuerSubject 值是否正确:

    [root@server SmartCard]# openssl x509 -noout -text -in rootca.pem | more
  6. 使用管理员特权,通过内置的 ipa-advise 工具生成配置脚本:

    [root@server SmartCard]# kinit admin
    [root@server SmartCard]# ipa-advise config-server-for-smart-card-auth > config-server-for-smart-card-auth.sh

    config-server-for-smart-card-auth.sh 脚本执行以下操作:

    • 它配置 IdM Apache HTTP 服务器。
    • 它在 KDC(Key Distribution Center)中启用 PKINIT(Public Key Cryptography for Initial Authentication in Kerberos)。
    • 它将 IdM Web UI 配置为接受智能卡授权请求。
  7. 执行脚本,将包含根 CA 和子 CA 证书的 PEM 文件添加为参数:

    [root@server SmartCard]# chmod +x config-server-for-smart-card-auth.sh
    [root@server SmartCard]# ./config-server-for-smart-card-auth.sh rootca.pem subca.pem issuingca.pem
    Ticket cache:KEYRING:persistent:0:0
    Default principal: \admin@IDM.EXAMPLE.COM
    [...]
    Systemwide CA database updated.
    The ipa-certupdate command was successful
    注意

    在任何子 CA 证书前,确保将根 CA 的证书添加为参数,并且 CA 或子 CA 证书还没有过期。

  8. 可选:如果发布用户证书的证书颁发机构不提供任何在线证书状态协议(OCSP)响应程序,则您可能需要禁用 OCSP 检查,以对 IdM Web UI 进行身份验证:

    1. /etc/httpd/conf.d/ssl.conf 文件中将 SSLOCSPEnable 参数设为 off

      SSLOCSPEnable off
    2. 重启 Apache 守护进程(httpd)使更改立即生效:

      [root@server SmartCard]# systemctl restart httpd
    警告

    如果您只使用 IdM CA 发出的用户证书,不要禁用 OCSP 检查。OCSP 响应器是 IdM 的一部分。

    有关如何保持 OCSP 检查处于启用状态,同时防止 IdM 服务器拒绝用户证书(如果 IdM 服务器不包含有关颁发用户证书的 CA 侦听 OCSP 服务请求的位置的信息)的说明,请参阅 Apache mod_ssl 配置选项 中的 SSLOCSPDefaultResponder 指令。

    该服务器现在被配置为智能卡验证。

    注意

    要在整个拓扑中启用智能卡验证,请在每个 IdM 服务器中运行操作过程。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部