【问题标题】:How to get a certificate from a CA?如何从 CA 获得证书?
【发布时间】:2018-05-19 07:25:36
【问题描述】:

我需要从具有.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 文件。

【问题讨论】:

  • 不同的CA实体有不同的步骤,比如ca.godaddy.com/help/…。因此,请查看您要使用的 CA 的文档。

标签: ssl certificate ca


【解决方案1】:

这些是您获得 CA 签署的证书所需执行的步骤。

  1. 生成非对称密钥对。

openssl genrsa -out localhost.key 2048

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

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

  1. 将上面生成的请求发送给 CA(不同的 CA 有不同的方式接收您的请求)。
  2. CA 回复 PKCS#7(证书链)或仅签名证书(您通常会获得整个证书链,但如果您仅获得对等证书,您可以在可能的地方与他们核实获取CA证书链自行构建链)。

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

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

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

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

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

所以为了回答你的问题,这就是你如何继续第 3 步。

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

【讨论】:

  • 您好,感谢您的解决方案。有没有免费的方法来获得 CA 证书?在我项目的这个阶段,我无法支付。我如何制作自己的 CA?
  • @FarhoodHosseinpour 谷歌快速搜索找到了一个开源 CA letsEncrypt,以及来自 Comodo 的免费 SSL 证书。如果它对您不起作用,您可以查看自签名证书。您所要做的就是将您的自签名证书添加到信任库。
猜你喜欢
  • 1970-01-01
  • 2017-05-28
  • 2019-11-14
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
  • 2021-12-18
相关资源
最近更新 更多