5.6. 使用 CMC 提交证书请求

这部分论述了使用证书管理 CMS(CMC)注册证书的步骤。
有关使用 CMC 配置和注册证书的一般信息,请参阅:
  • 红帽认证系统规划、安装和部署指南中的 CMC 配置部分。
  • 红帽认证系统规划、安装和部署指南中的 CMC 注册 部分
  • CMCRequest(1) man page
  • CMCResponse(1) man page
CMC 注册方式可以满足您的不同场景的要求。第 5.6.2 节 “CMC 注册过程” 请使用 红帽认证系统规划、安装和部署指南中的 CMC 补充注册 部分,详情。另外,第 5.6.3 节 “实际 CMC 注册方案” 部分可让管理员决定使用哪些机制。

5.6.1. 使用 CMC 注册

CMC 注册允许注册客户端使用 CMCAuth 插件进行身份验证,通过代理证书预签名证书。当收到使用代理证书的有效请求签名时,证书管理器会自动发布证书。
注意
CMC 注册功能被默认启用。除非配置已更改,否则应该不需要启用 CMC 注册身份验证插件或配置集。
CMCAuth 身份验证插件还为客户端提供 CMC 撤销程序。CMC 撤销程序允许客户端具有代理证书签名的证书请求,然后将此类请求发送到证书管理器。当收到使用代理证书签名的有效请求时,证书管理器会自动撤销证书。CMC 撤销程序可使用 CMCRevoke 命令行工具创建。有关 CMCRevoke 的更多信息,请参阅 第 7.2 节 “执行 CMC Revocation”
CMC 请求可以通过浏览器终端形式提交,也可以使用 HttpClient 等工具将请求发布到适当的配置集。CMCRequest 工具生成签名证书请求,然后使用 HttpClient 工具或浏览器最终用户表单提交,以自动注册并立即接收证书。
CMCRequest 工具具有简单的命令语法,它通过 .cfg 输入文件中提供的所有配置:
CMCRequest /path/to/file.cfg
也可以使用 CMCEnroll 工具创建单个 CMC 注册程序,其语法如下:
CMCEnroll -d /agent's/certificate/directory -h password -n cert_nickname -r certrequest.file -p certDB_passwd [-c "comment"]
CMCEnroll(1) man page 中详细介绍了这些工具。
注意
在引号中包含空格的值会包括在引号中。

5.6.1.1. 测试 CMCEnroll

  1. 使用 certutil 工具创建证书请求。
  2. 将 PKCS #10 ASCII 输出复制到文本文件。
  3. 运行 CMCEnroll 工具。
    例如,如果名为 request34.txt 的输入文件,代理证书存储在浏览器数据库中,则代理证书的证书通用名称是 CertificateManagerAgentsCert,并且证书数据库的密码是 secret,该命令如下:
    CMCEnroll -d ~jsmith/.mozilla/firefox/1234.jsmith -n "CertificateManagerAgentsCert" -r /export/requests/request34.txt -p secret
    此命令的输出存储在文件中,该文件与 .out 一起附加到文件名中。
  4. 通过端点页面提交签名证书。
    1. 打开"终端"页面。
      https://server.example.com:8443/ca/ee/ca
    2. 从证书配置集列表中选择 CMC 注册表单。
    3. 将输出文件的内容粘贴到此表单 的证书请求 文本区域。
    4. 从粘贴的内容中删除 -----BEGIN NEW CERTIFICATE REQUEST---------END NEW CERTIFICATE REQUEST-----
    5. 填写联系信息并提交表单。
  5. 证书会立即被处理并返回。
  6. 使用 agent 页面搜索新证书。