20.4. 使用 certmonger 为服务获取 IdM 证书
为确保浏览器和在 IdM 客户端上运行的 Web 服务之间的通信安全且加密,请使用 TLS 证书。如果要将 Web 浏览器限制为信任 webserver-ca
子 CA 发布但没有其它 IdM 子 CA 发布的证书,请从 webserver-ca
子 CA 获取 Web 服务的 TLS 证书。
按照以下流程,使用 certmonger
获取在 IdM 客户端上运行的服务(HTTP/my_company.idm.example.com
@IDM.EXAMPLE.COM
)的 IdM 证书。
使用 证书监控
器自动请求证书意味着,certmonger
在到期需要续订时管理和续订证书。
有关 certmonger
请求服务证书时发生的可视化表示,请参阅 certmonger 请求服务证书的通信流。
先决条件
- Web 服务器已注册为 IdM 客户端。
- 您有正在运行的 IdM 客户端的 root 访问权限。
- 请求证书的服务不必在 IdM 中预先存在。
流程
在运行
HTTP
服务的 my_company.idm.example.com
IdM 客户端中,请求与HTTP/my_company.idm.example.com@IDM.EXAMPLE.COM
主体对应的服务的证书,并指定:-
证书将存储在本地
/etc/pki/tls/certs/httpd.pem
文件中 -
私钥存储在本地
/etc/pki/tls/private/httpd.key
文件中 -
The
webserver-ca
子 CA 将作为发行证书颁发机构 将
SubjectAltName
的 extensionRequest 添加到签名请求中,其 DNS 名称为my_company.idm.example.com
:# ipa-getcert request -K HTTP/my_company.idm.example.com -k /etc/pki/tls/private/httpd.key -f /etc/pki/tls/certs/httpd.pem -g 2048 -D my_company.idm.example.com -X webserver-ca -C "systemctl restart httpd" New signing request "20190604065735" added.
在以上命令中:
-
ipa-getcert request
命令指定要从 IdM CA 获取证书。ipa-getcert request
命令是getcert request -c IPA
的快捷方式。 -
g
选项指定要生成的密钥的大小(如果尚未到位)。 -
D
选项指定
要添加到请求的SubjectAltName
DNS 值。 -
X 选项指定
证书的签发者必须是webserver-ca,
而不是ipa
。 -
C
选项
指示certmonger 在获取证书后重新启动
httpd
服务。
-
要指定证书与特定的配置集一起发布,请使用
-T
选项。
注意RHEL 8 在 Apache 中使用与 RHEL 7 中使用的不同的 SSL 模块。SSL 模块依赖于 OpenSSL 而不是 NSS。因此,在 RHEL 8 中,您无法使用 NSS 数据库存储
HTTPS
证书和私钥。-
-
证书将存储在本地
可选:检查请求的状态:
# ipa-getcert list -f /etc/pki/tls/certs/httpd.pem Number of certificates and requests being tracked: 3. Request ID '20190604065735': status: MONITORING stuck: no key pair storage: type=FILE,location='/etc/pki/tls/private/httpd.key' certificate: type=FILE,location='/etc/pki/tls/certs/httpd.crt' CA: IPA issuer: CN=WEBSERVER,O=IDM.EXAMPLE.COM [...]
输出显示请求处于 MONITOR
ING
状态,这表示已获取了证书。密钥对和证书的位置是请求的位置。