IBM Endpoint Manager V9.0

针对由 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


反馈