Red Hat Training

A Red Hat training course is available for RHEL 8

3.5. 使用私有 CA 使用 OpenSSL 为 CSR 发布证书

要让系统建立 TLS 加密通信频道,证书颁发机构(CA)必须为它们提供有效的证书。如果您有私有 CA,您可以通过从系统签署证书签名请求(CSR)来创建请求的证书。

前提条件

流程

  1. 可选: 使用您选择的文本编辑器准备 OpenSSL 配置文件,以便为证书添加扩展,例如:

    $ vim <openssl.cnf>
    [server-cert]
    extendedKeyUsage = serverAuth
    
    [client-cert]
    extendedKeyUsage = clientAuth
  2. 使用 x509 工具来基于 CSR 创建证书,例如:

    $ openssl x509 -req -in <server-cert.csr> -CA <ca.crt> -CAkey <ca.key> -CAcreateserial -days 365 -extfile <openssl.cnf> -extensions <server-cert> -out <server-cert.crt>
    Signature ok
    subject=C = US, O = Example Organization, CN = server.example.com
    Getting CA Private Key

    要提高安全性,请在从 CSR 创建另一个证书前删除 serial-number 文件。这样,您可以确保序列号始终随机。如果您省略了 CAserial 选项用于指定自定义文件名,则 serial-number 文件名与证书的文件名相同,但其扩展名被替换为 .srl 扩展名(上例中的server-cert.srl )。

其他资源

  • openssl (1), ca (1), 和 x509 (1) man page