5.7. 执行大量问题
当管理员需要同时提交并生成大量证书时,可以有实例。与 CertificateCertificate Systemnbsp 提供的工具组合;系统可用于发布包含 CA 的证书请求的文件。这个示例步骤使用 PKCS10Client 命令生成 requests 和 sslget 命令,将请求发送到 CA。
- 由于已编写此过程,需要设置多个变量来识别 CA(主机、端口)以及用于身份验证的项目(代理证书和证书数据库和密码)。例如,通过在终端中导出会话设置这些变量:
export d=/var/tmp/testDir export p=password export f=/var/tmp/server.csr.txt export nick="CA agent cert" export cahost=1.2.3.4 export caport=8443
注意本地系统必须具有一个有效的安全数据库,其中包含代理的证书。设置数据库:- 从浏览器中导出或下载代理用户证书和密钥,并保存到文件,如
agent.p12
。 - 如有必要,为安全数据库创建一个新目录。
mkdir ${d}
- 如有必要,创建新的安全数据库。
certutil -N -d ${d}
- 停止证书证书 Systemnbsp;System 实例。
systemctl stop pki-tomcatd@instance_name.service
- 使用 pk12util 导入证书。
# pk12util -i /tmp/agent.p12 -d ${d} -W p12filepassword
如果这个过程成功,命令会输出以下输出:pk12util: PKCS12 IMPORT SUCCESSFUL
- 启动证书证书系统nbsp;System 实例。
systemctl start pki-tomcatd@instance_name.service
- 必须设置两个额外的变量。标识要用于处理请求的 CA 配置集的变量,以及用于发送 post 语句的变量,以提供配置集表单的信息。
export post="cert_request_type=pkcs10&xmlOutput=true&profileId=caAgentServerCert&cert_request=" export url="/ca/ee/ca/profileSubmitSSLClient"
注意本例将证书请求提交到 caAgentServerCert 配置集(在 post 语句的 profileId 元素中标识)。可以使用任何证书配置集,包括自定义配置集。 - 测试变量配置。
echo ${d} ${p} ${f} ${nick} ${cahost} ${caport} ${post} ${url}
- 使用 (本例)Phy 10Client 生成证书 请求:
time for i in {1..10}; do /usr/bin/PKCS10Client -d ${d} -p ${p} -o ${f}.${i} -s "cn=testms${i}.example.com"; cat ${f}.${i} >> ${f}; done perl -pi -e 's/\r\n//;s/\+/%2B/g;s/\//%2F/g' ${f} wc -l ${f}
- 检查 CA 的状态和事务日志。
/etc/init.d/pki-ca status tail -f /var/log/pki-ca/transactions&
- 使用 sslget 将上一步中创建的批量证书请求文件提交到 CA 配置集接口。4例如:
cat ${f} | while read thisreq; do /usr/bin/sslget -n "${nick}" -p ${p} -d ${d} -e ${post}${thisreq} -v -r ${url} ${cahost}:${caport}; done