针对由 CA 进行签名的证书生成新的专用密钥和 CSR

针对由 CA 进行签名的证书生成新的专用密钥和 CSR

对于由认证中心 (CA) 进行签名的证书,服务器随附了专用密钥以及已签名的证书。您可以针对由 CA 进行签名的证书生成新的专用密钥和证书签名请求 (CSR)。您可能想针对由 CA 进行签名的证书生成新的专用密钥和 CSR,例如,在尚未建立公用密钥基础结构 (PKI) 时,情况就是如此。

关于此任务

您可以将此 CSR 发送给外部 CA 以进行签名,也可以创建专用 CA 并使用专用 CA 对 CSR 进行签名。您可以在任何计算机上创建专用 CA,前提是其操作系统支持 openSSL。

使用外部 CA 的优点是,在缺省情况下,已知公用 CA 的根证书将导入到流行的 Web 浏览器中。使用专用 CA 的优点是不依赖于外部实体提供证书,并且没有成本。

过程

  1. 通过打开命令行控制台并输入下列命令,生成新的专用密钥和证书签名请求 (CSR):
    openssl genrsa -out key_name.key key_strength -sha256
    注: 添加 -des3 选项可以生成受密码保护的密钥,例如:
    openssl genrsa -des3 -out key_name.key key_strength -sha256
    openssl req -new -key key_name.key -out csr_name.csr
    其中:

    csr_name

    是要创建的 CSR 文件的名称。

    key_name

    是新密钥的名称。

    key_strength

    是密钥的强度,以位数计。

    sha256

    是签名散列算法。

    例如:

    openssl genrsa -out privateKey.key 2048 -sha256
    
    openssl req -new -key privateKey.key -out csr.csr
    这将创建证书请求。此 CSR 用作已签名证书的临时占位符,直到您在服务器设置面板中将该证书导入到密钥库为止。现在,该证书必须由 CA 进行签名,才能完成为服务器生成已签名证书的过程。您可以将此 CSR 发送给外部 CA 进行签名,也可以创建专用 CA。
  2. 可选: 创建专用 CA 并对 CSR 进行签名。如果您打算创建并使用专用 CA,而不使用外部 CA,请完成以下过程。
    1. 通过运行下列命令,创建 CA 专用密钥和 CSR:
      mkdir ca
      
      openssl req -new -newkey rsa:key_strength -nodes -out path_to_csr.csr -keyout path_to_keyfile.key -sha256
      其中:

      key_strength

      是密钥的强度,以位数计。

      path_to_csr

      是 CSR 的路径。

      path_to_keyfile

      是 CA 密钥文件的路径。

      示例:
      openssl req -new -newkey rsa:2048 -nodes -out ca/ca.csr -keyout ca/ca.key -sha256
    2. 对 CA CSR 进行签名,以便为新的专用 CA 构建证书:
      openssl x509 -signkey path_to_keyfile.key -days 
      number_of_days -req -in path_to_csr.csr -out path_to_ca_cert.arm -sha256
      其中:

      path_to_keyfile

      是 CA 密钥文件的路径。

      number_of_days

      是此证书的有效天数。

      path_to_ca_cert

      是 CA 证书文件的路径。

      示例:
      openssl x509 -signkey ca/ca.key -days 7300 -req -in ca/ca.csr -out ca/ca.arm -sha256

    3. 对此 CSR 进行签名。 仅当使用专用 CA 时,才需要对 CSR 进行签名。

      注: 如果使用外部 CA,那么必须将此 CSR 发送给 CA 管理员以进行签名。

      运行以下命令,以便对此 CSR 进行签名:
      openssl x509 -req -days 7300 -in path_to_csr -CA ca/ca.arm -CAkey path_to_keyfile -out cert.arm -set_serial 01 -sha256
      其中:

      path_to_csr

      是您创建的证书签名请求文件的路径。

      path_to_keyfile

      是您创建的 CA 密钥文件的路径。

      cert.arm

      是生成的服务器证书。

      ca.arm

      是必须用于对此 CSR 进行签名的 CA 证书。

      例如:
      openssl x509 -req -days 7300 -in csr.csr -CA ca/ca.arm -CAkey ca/ca.key -out cert.arm -set_serial 01 -sha256
    新创建的文件 ca.arm 包含专用 CA 的根证书。现在,可以在服务器设置面板中导入证书 cert.arm 和专用密钥 privateKey.key。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值