22.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
请求服务证书时会发生的情况的视觉表示,请参阅 第 22.5 节 “请求服务证书的 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
文件中 -
webserver-ca
子 CA 是签发的证书颁发机构 SubjectAltName
的一个 extensionRequest 添加至my_company.idm.example.com
的 DNS 名称的签名请求中:# 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
选项。
-
-
证书将存储在本地
可选:要检查请求的状态:
# 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 [...]
输出显示请求处于
MONITORING
状态,这表示已获取了证书。密钥对和证书的位置是请求的。