如何从CA获得证书?

时间:2017-12-05 15:14:42

标签: ssl certificate ca

我需要从扩展名为.crt的证书颁发机构获取证书。 我使用openssl命令,但它生成了一个不适合我使用的自签名证书。

$ openssl genrsa -out client.key 4096
$ openssl req -new -x509 -text -key client.key -out client.cert

如何在ubuntu 16.04中从CA获取证书?我需要.key和.crt文件......

1 个答案:

答案 0 :(得分:2)

以下是获取CA签名证书所需执行的步骤。

  1. 生成非对称密钥对。
  2.   

    openssl genrsa -out localhost.key 2048

    1. 从密钥对生成PKCS#10(证书签名请求)。
    2.   

      openssl req -new -sha256 -key localhost.key -out localhost.csr

      1. 将上述生成的请求发送给CA(不同的CA有不同的接收请求的方式)。
      2. CA回复PKCS#7(证书链)或仅签署证书(您通常会获得整个证书链,但如果您只获得了同行证书,则可以在哪里查看获取CA证书链以自己构建链。)

      3. 您可以将上面收到的PKCS#7转换为PEM格式

      4.   

        openssl pkcs7 -in localhost.p7r -inform DER -out localhost.pem   -print_certs

        1. 将上述PEM证书链与您在步骤1中生成的私钥相关联。
        2.   

          openssl pkcs12 -export -inkey localhost.key -in localhost.pem -name   sslCertificate -out localhost.pfx

          您现在拥有一个PKCS#12密钥库,可用于保护您的服务器。

          所以回答你的问题,这就是你如何进行第3步。

          那里有许多着名的证书颁发机构(GeoTrust,Entrust,Verisign,GoDaddy,Comodo等,......)。根据您要求的证书类型,每个CA的定价可能不同。您可以访问他们的官方网页,了解他们提供的更多信息。一旦您决定使用哪个CA,您就可以使用他们的服务来请求签署证书(通常在他们的网站上在线)。