第 24 章 管理用户、主机和服务的证书


身份管理(IdM)支持两种类型的证书颁发机构(CA):
集成的 IdM CA
集成的 CA 可以为用户、主机和服务创建、吊销和发布证书。如需了解更多详细信息,请参阅 第 24.1 节 “使用集成的 IdM CA 管理证书”
IdM 支持创建轻量级子 CA。如需了解更多详细信息,请参阅 第 26.1 节 “轻量级子 CA”
外部 CA
外部 CA 是集成的 IdM CA 以外的 CA。
使用 IdM 工具,您可以将这些 CA 发布的证书添加到用户、服务或主机,以及删除它们。如需了解更多详细信息,请参阅 第 24.2 节 “管理由外部 CA 发布的证书”
每个用户、主机或服务都可以分配多个证书。
注意
有关 IdM 服务器的 CA 配置的详情,请参考 第 2.3.2 节 “确定要使用的 CA 配置”

24.1. 使用集成的 IdM CA 管理证书

24.1.1. 为用户、主机或服务请求新证书

使用以下命令请求证书:
请注意,您必须使用第三方工具自行生成证书请求。以下流程使用 certutilopenSSL 工具。
重要
通常运行在存储私钥的专用服务节点上的服务。将服务的私钥复制到 IdM 服务器被视为不安全。因此,在为服务请求证书时,在服务节点上创建 CSR。

Web UI:请求新证书

  1. Identity 选项卡下,选择 UsersHostsServices 子选项卡。
  2. 单击用户、主机或服务的名称,来打开其配置页面。

    图 24.1. 主机列表

    主机列表
  3. 单击 Actions New Certificate
  4. 可选:选择发布 CA 和配置文件 ID。
  5. 按照屏幕上的说明操作,以使用 certutil
  6. 单击 Issue

命令行:请求新证书

在标准情况下使用 certutil 请求新证书 - 请参阅 第 24.1.1.1 节 “使用 certutil 请求新证书”。使用 openSSL 请求新证书,以启用 Kerberos 别名来使用主机或服务证书 - 请参阅 第 24.1.1.2 节 “使用 OpenSSL 准备多个 SAN 字段的证书请求”

24.1.1.1. 使用 certutil 请求新证书

  1. 为证书数据库创建一个临时目录:
    # mkdir ~/certdb/
  2. 创建新的临时证书数据库,例如:
    # certutil -N -d ~/certdb/
  3. 创建证书签名请求(CSR),并将输出重定向到文件。例如,要为 4096 位证书创建 CSR,并将主题设为 CN=server.example.com,O=EXAMPLE.COM
    # certutil -R -d ~/certdb/ -a -g 4096 -s "CN=server.example.com,O=EXAMPLE.COM" -8 server.example.com > certificate_request.csr
  4. 将证书请求提交到 CA。详情请查看 第 24.1.1.4 节 “将证书请求提交到 IdM CA”

24.1.1.2. 使用 OpenSSL 准备多个 SAN 字段的证书请求

  1. 为 Kerberos 主体 test /server.example.com 创建一个或多个别名,如test1/ server.example.com、test2/ server.example.com。详情请查看 第 20.2.1 节 “Kerberos 主要别名”
  2. 在 CSR 中,为 dnsName(server.example.com)和otherName(test2/server.example.com)添加 subjectAltName。要做到这一点,请配置 openssl.conf 文件,使其包含以下指定 UPN otherName 和 subjectAltName 的行:
    otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM
    DNS.1 = server.example.com
  3. 使用 openssl 创建证书请求:
    openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf
  4. 将证书请求提交到 CA。详情请查看 第 24.1.1.4 节 “将证书请求提交到 IdM CA”

24.1.1.3. 使用 Certmonger 请求新证书

您可以使用 certmonger 服务从 IdM CA 请求证书。详情请查看《 系统级身份验证指南 》中的请求 CA 签名证书 Through SCEP 部分。

24.1.1.4. 将证书请求提交到 IdM CA

将证书请求文件提交到在 IdM 服务器上运行的 CA。务必指定与新签发的证书关联的 Kerberos 主体:
# ipa cert-request certificate_request.csr --principal=host/server.example.com
IdM 中的 ipa cert-request 命令使用以下默认值:
  • 证书配置文件: caIPAserviceCert
    要选择自定义配置集,请在 ipa cert-request 命令中使用 --profile-id 选项。
    有关创建自定义证书配置集的详情,请参考 第 24.4.1 节 “创建证书配置文件”
  • 集成的 CA: ipa (IdM root CA)
    要选择一个子 CA,请在 ipa cert-request 命令中使用 --ca 选项。
详情请查看 ipa cert-request --help 命令的输出。

24.1.2. 使用集成的 IdM CA 撤销证书

如果您需要在证书过期前无效,您可以撤销证书。使用以下方法撤销证书:
已吊销的证书是无效的,不能用于身份验证。所有撤销都是永久性的,但原因 6:证书已保留.
表 24.1. 吊销原因
ID 原因 解释
0 未指定
1 密钥泄露
签发证书的密钥不再被信任。
可能的原因是:丢失令牌,非正常访问文件。
2 CA 泄露 签发证书的 CA 不再被信任。
3 隶属关系更改了
可能的原因:
  • 某人已离开公司或迁移到另一个部门。
  • 主机或服务正在被停用。
4 被取代 较新的证书替换了当前的证书。
5 停止操作 主机或服务将被停用。
6 证书冻结 证书被临时吊销。您可稍后恢复证书。
8 从 CRL 中删除 证书不再包含在证书吊销列表(CRL)中。
9 特权收回 用户、主机或服务不再被允许使用证书。
10 属性授权(AA)泄露 AA 证书不再被信任。

Web UI:撤销证书

撤销证书:
  1. 打开 Authentication 选项卡,然后选择 证书 子选项卡。
  2. 单击证书的序列号,来打开证书信息页面。

    图 24.2. 证书列表

    证书列表
  3. 单击 Actions Revoke Certificate
  4. 选择吊销的原因,然后单击 Revoke。详情请查看 表 24.1 “吊销原因”

命令行:撤销证书

使用 ipa cert-revoke 命令,并指定:
例如,由于原因 1,要吊销序列号为 1032 的证书:主要总结:
$ ipa cert-revoke 1032 --revocation-reason=1

24.1.3. 使用集成的 IdM CA 恢复证书

如果您因为原因 6 撤销了证书:证书已保留,您可以重新恢复。使用以下方法恢复证书:

Web UI:恢复证书

  1. 打开 Authentication 选项卡,然后选择 证书 子选项卡。
  2. 单击证书的序列号,来打开证书信息页面。

    图 24.3. 证书列表

    证书列表
  3. 单击 Actions Restore Certificate

命令行:恢复证书

使用 ipa cert-remove-hold 命令并指定证书序列号。例如:
$ ipa cert-remove-hold 1032
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.