第 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. 为用户、主机或服务请求新证书 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用以下命令请求证书:
- IdM Web UI,请查看 “Web UI:请求新证书”一节。
- 命令行请查看 “命令行:请求新证书”一节。
请注意,您必须使用第三方工具自行生成证书请求。以下流程使用
certutil
和 openSSL
工具。
重要
通常运行在存储私钥的专用服务节点上的服务。将服务的私钥复制到 IdM 服务器被视为不安全。因此,在为服务请求证书时,在服务节点上创建 CSR。
Web UI:请求新证书
- 在 Identity 选项卡下,选择 Users、Hosts 或 Services 子选项卡。
- 单击用户、主机或服务的名称,来打开其配置页面。
图 24.1. 主机列表
- 单击
。 - 可选:选择发布 CA 和配置文件 ID。
- 按照屏幕上的说明操作,以使用
certutil
。 - 单击。
命令行:请求新证书
在标准情况下使用
certutil
请求新证书 - 请参阅 第 24.1.1.1 节 “使用 certutil 请求新证书”。使用 openSSL
请求新证书,以启用 Kerberos 别名来使用主机或服务证书 - 请参阅 第 24.1.1.2 节 “使用 OpenSSL 准备多个 SAN 字段的证书请求”。
24.1.1.1. 使用 certutil 请求新证书 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 为证书数据库创建一个临时目录:
mkdir ~/certdb/
# mkdir ~/certdb/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建新的临时证书数据库,例如:
certutil -N -d ~/certdb/
# certutil -N -d ~/certdb/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建证书签名请求(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
# certutil -R -d ~/certdb/ -a -g 4096 -s "CN=server.example.com,O=EXAMPLE.COM" -8 server.example.com > certificate_request.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将证书请求提交到 CA。详情请查看 第 24.1.1.4 节 “将证书请求提交到 IdM CA”。
24.1.1.2. 使用 OpenSSL 准备多个 SAN 字段的证书请求 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 为 Kerberos 主体 test /server.example.com 创建一个或多个别名,如test1/ server.example.com、test2/ server.example.com。详情请查看 第 20.2.1 节 “Kerberos 主要别名”。
- 在 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
otherName=1.3.6.1.4.1.311.20.2.3;UTF8:test2/server.example.com@EXAMPLE.COM DNS.1 = server.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用
openssl
创建证书请求:openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf
openssl req -new -newkey rsa:2048 -keyout test2service.key -sha256 -nodes -out certificate_request.csr -config openssl.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将证书请求提交到 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
# 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 撤销证书 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您需要在证书过期前无效,您可以撤销证书。使用以下方法撤销证书:
- IdM Web UI,请查看 “Web UI:撤销证书”一节
- 命令行,请查看 “命令行:撤销证书”一节
已吊销的证书是无效的,不能用于身份验证。所有撤销都是永久性的,但原因 6:证书已保留.
ID | 原因 | 解释 |
---|---|---|
0 | 未指定 | |
1 | 密钥泄露 |
签发证书的密钥不再被信任。
可能的原因是:丢失令牌,非正常访问文件。
|
2 | CA 泄露 | 签发证书的 CA 不再被信任。 |
3 | 隶属关系更改了 |
可能的原因:
|
4 | 被取代 | 较新的证书替换了当前的证书。 |
5 | 停止操作 | 主机或服务将被停用。 |
6 | 证书冻结 | 证书被临时吊销。您可稍后恢复证书。 |
8 | 从 CRL 中删除 | 证书不再包含在证书吊销列表(CRL)中。 |
9 | 特权收回 | 用户、主机或服务不再被允许使用证书。 |
10 | 属性授权(AA)泄露 | AA 证书不再被信任。 |
Web UI:撤销证书
撤销证书:
- 打开 Authentication 选项卡,然后选择 证书 子选项卡。
- 单击证书的序列号,来打开证书信息页面。
图 24.2. 证书列表
- 单击
。 - 选择吊销的原因,然后单击 表 24.1 “吊销原因”。。详情请查看
命令行:撤销证书
使用 ipa cert-revoke 命令,并指定:
- 证书序列号
- 标识撤销原因的数字 ; 详情请查看 表 24.1 “吊销原因”
例如,由于原因 1,要吊销序列号为
1032
的证书:主要总结:
ipa cert-revoke 1032 --revocation-reason=1
$ ipa cert-revoke 1032 --revocation-reason=1
24.1.3. 使用集成的 IdM CA 恢复证书 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您因为原因 6 撤销了证书:证书已保留,您可以重新恢复。使用以下方法恢复证书:
- IdM Web UI,请查看 “Web UI:恢复证书”一节
- 命令行,请查看 “命令行:恢复证书”一节
Web UI:恢复证书
- 打开 Authentication 选项卡,然后选择 证书 子选项卡。
- 单击证书的序列号,来打开证书信息页面。
图 24.3. 证书列表
- 单击
。
命令行:恢复证书
使用 ipa cert-remove-hold 命令并指定证书序列号。例如:
ipa cert-remove-hold 1032
$ ipa cert-remove-hold 1032