5.6. 执行 Bulksuance


当管理员需要同时提交和生成大量证书时,可能存在实例。证书系统提供的工具组合可用于向 CA 发送包含证书请求的文件。这个示例流程使用 PKCS10Client 命令生成请求,以及 sslget 命令将请求发送到 CA。
  1. 由于此过程被脚本化,因此需要设置多个变量来标识 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
    注意
    本地系统必须具有有效的安全数据库,其中有一个代理的证书。设置数据库:
    1. 从浏览器中导出或下载代理用户证书和密钥,并保存到文件中,如 agent.p12
    2. 如有必要,为安全数据库创建一个新目录。
      mkdir ${d}
    3. 如有必要,创建新的安全数据库。
      certutil -N -d ${d}
    4. 停止证书系统实例。
      pki-server stop instance_name
    5. 使用 pk12util 导入证书。
      # pk12util -i /tmp/agent.p12 -d ${d} -W p12filepassword
      如果过程成功,该命令会打印以下输出:
      pk12util: PKCS12 IMPORT SUCCESSFUL
    6. 启动证书系统实例。
      pki-server start instance_name
  2. 必须设置两个额外变量。用于标识用于处理请求的 CA 配置集的变量,以及用于发送 post 语句的变量,以提供配置文件表单的信息。
    export post="cert_request_type=pkcs10&xmlOutput=true&profileId=caAgentServerCert&cert_request="
    export url="/ca/ee/ca/profileSubmitSSLClient"
    注意
    本例向 caAgentServerCert 配置集提交证书请求(在 post 语句的 profileId 项中标识)。可以使用任何证书配置文件,包括自定义配置集。
  3. 测试变量配置。
    echo ${d} ${p} ${f} ${nick} ${cahost} ${caport} ${post} ${url}
  4. 使用(例如,)PCS 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}
  5. 使用 sslget 将步骤 4 中创建的批量证书请求文件提交到 CA 配置集接口。例如:
    cat ${f} | while read thisreq; do /usr/bin/sslget -n "${nick}" -p ${p} -d ${d} -e ${post}${thisreq} -v -r ${url} ${cahost}:${caport}; done
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.