第 5 章 转换证书格式以便和 IdM 一起工作


管理员正确格式化证书以确保与 IdM 命令兼容。常见任务包括将外部证书加载到用户配置文件中,配置智能卡验证,以及导出凭证以进行浏览器兼容性。

5.1. IdM 中的证书格式和编码

IdM 身份验证通过将显示的证书与存储的配置集数据进行比较来验证用户身份。虽然配置文件仅存储公共证书,但用户必须在身份验证过程中证明其具有对应的私钥。

系统配置
IdM 配置文件中存储的内容仅是证书,而不是对应的私钥。在身份验证期间,用户还必须显示其拥有相应的私钥。用户通过显示包含证书和私钥的 PKCS #12 文件或两个文件:一个包含证书,另一个包含私钥,来执行此操作。

因此,将证书加载到用户配置文件的进程只接受不包含私钥的证书文件。

同样,当系统管理员为您提供了外部 CA 证书时,他将仅提供公共数据:不带私钥的证书。为智能卡验证配置 IdM 服务器或 IdM 客户端的 ipa-advise 工具期望输入文件包含外部 CA 的证书,而不是私钥。

证书编码
有两种常见的证书编码:隐私增强型电子邮件(PEM)和区分的编码规则(DER)。base64 格式与 PEM 格式几乎相同,但其不包含 -----BEGIN CERTIFICATE-----/-----END CERTIFICATE----- 页眉和页脚。

已使用 DER 编码的证书是一个二进制 X509 数字证书文件。作为二进制文件,证书不可读。DER 文件有时使用 .der 文件扩展名,但带有 .crt.cer 文件扩展名的文件有时也会包含 DER 证书。包含密钥的 DER 文件可以命名为 .key

使用 PEM Base64 编码的证书是一个人类可读的文件。文件包含前缀为"-----BEGIN …"行的 ASCII (Base64)装ored 数据。PEM 文件有时使用 .pem 文件扩展名,但具有 .crt.cer 文件扩展名的文件有时也包含 PEM 证书。包含密钥的 PEM 文件可以命名为 .key

不同的 ipa 命令对其接受的证书类型有不同的限制。例如,ipa user-add-cert 命令只接受以 base64 格式编码的证书,但 ipa-server-certinstall 可接受 PEM, DER, PKCS #7, PKCS #8PKCS #12 证书。

Expand
表 5.1. 证书编码
编码格式人类可读通用文件扩展名接受编码格式的 IdM 命令示例

PEM/base64

.pem, .crt, .cer

ipa user-add-cert, ipa-server-certinstall, …​

DER

.der, .crt, .cer

ipa-server-certinstall, …​

IdM 中与证书相关的命令和格式 列出了将来的 ipa 命令和命令接受的证书格式。

用户身份验证
在使用 Web UI 访问 IdM 时,用户通过将两者都存储在浏览器的数据库中,证明自己拥有与证书对应的私钥。

当使用 CLI 访问 IdM 时,用户通过以下方法之一证明自己拥有与证书对应的私钥:

  • 用户添加了 kinit -X 命令的 X509_user_identity 参数的值,添加了连接到包含证书和密钥的智能卡的智能模块的路径:

    $ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_user
  • 用户添加两个文件作为 kinit -X 命令的 X509_user_identity 参数的值,一个包含证书,另一个包含私钥:

    $ kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_user
    有用的证书命令

    要查看证书数据,如主题和签发者:

    $ openssl x509 -noout -text -in ca.pem

    要比较两个证书在哪行不同:

    $ diff cert1.crt cert2.crt

    要比较哪行中两个证书与两列中显示的输出不同:

    $ diff cert1.crt cert2.crt -y
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部