如何安装中级证书(在 AWS 中)?

如何安装中级证书(在 AWS 中)?

我已经在 Amazon Load Balancer 上安装了私钥(pem 编码)和公钥证书(pem 编码)。但是,当我使用站点测试工具,出现以下错误:

检查 SSL 证书时出错!无法获取证书的本地颁发者。无法找到本地查找的证书的颁发者。通常,这表示服务器上并未安装所有中间证书。

我使用这些命令将 crt 文件转换为 pem教程

openssl x509 -in input.crt -out input.der -outform DER
openssl x509 -in input.der -inform DER -out output.pem -outform PEM

在设置 Amazon Load Balancer 时,我遗漏的唯一选项是证书链。(pem 编码)但是,这是可选的。这可能是我的问题的原因吗?如果是,我该如何创建证书链?

更新

如果您向 VeriSign 提出请求,他们会为您提供证书链。此链包括公共 crt、中间 crt 和根 crt。在将公共 crt 添加到 Amazon Load Balancer 的证书链框之前,请确保从证书链(最顶层的证书)中删除它。

如果您从 Android 应用发出 HTTPS 请求,则上述说明可能不适用于较旧的 Android 操作系统(例如 2.1 和 2.2)。要使其在较旧的 Android 操作系统上运行,请执行以下操作:

  • 到这里
  • 单击“零售 SSL”选项卡,然后单击“安全站点”>“Apache 服务器的 CA 包”
  • 将这些中间证书复制并粘贴到证书链框中。以防万一你没有找到它这是直接链接

如果您使用地理信任证书,那么对于 Android 设备来说解决方案大致相同,但是,您需要复制并粘贴其用于 Android 的中级证书。

答案1

按照以下顺序手动连接提供的文件:

  • 网站.com.crt
  • middle.crt(一个或多个,顺序无关紧要)
  • ROOT证书

您可以使用命令从 shell 执行此cat操作

cat site.com intermediate.crt ROOT.crt > site.chain.pem

或复制/粘贴它们,中间没有空格,确保证书在不同的行上

-----BEGIN CERTIFICATE-----
site cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----

答案2

我的 rapid-ssl 证书有问题;根据

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO21856&actp=search&viewlocale=en_US&searchid=1368427636740

我可以通过反转 CA 包中的证书来修复它:

问题

将 SSL 证书安装到 Amazon Web Service (AWS) - Amazon EC2 设备时,您可能会收到以下错误消息。

错误:公钥证书无效。原因当以下任一情况为真时,此问题可能会出现在 Amazon Web Service (AWS) - Amazon EC2 设备上。

RapidSSL Intermediate CA bundle certificate is not installed on Amazon Web Service (AWS) - > Amazon EC2 device
RapidSSL Intermediate CA bundle certificate is installed on Amazon Web Service (AWS) - Amazon > EC2 device but the CA bundle required needs to be installed in reversed order

解决

要解决使用 Amazon Web Service (AWS) - Amazon EC2 设备安装 RapidSSL 证书时出现的错误,请执行以下步骤。

步骤 1:下载中级 CA 捆绑证书

要下载中级 CA 捆绑证书,请参阅文章 AR1548

查看 CA 包时,您会看到两个证书堆叠在一起。这两个证书需要交换。顶部证书需要放在底部,底部证书需要放在顶部。

...

答案3

我也遇到过同样的问题。只需上传一个 pem 文件,并输入以下内容,似乎就能解决问题。它不喜欢顶部的站点证书

-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----

答案4

我也购买了 RapidSSL 证书,但一直遇到“无效公钥证书”错误。我尝试了这里列出的所有方法,包括反转链证书、省略它们、将它们附加到主服务器证书等...

最后,我还是无法消除错误。所以我找到了另一种方法将证书上传到 Amazon 以供负载均衡器 (Elastic Beanstalk) 使用:实际上有一个 GUI 允许上传证书!

它位于 EC2 -> 负载均衡器 -> 选择您的负载均衡器 -> 监听器(选项卡)-> 在下拉菜单中选择 HTTPS -> 单击 SSL 证书选项卡下的选择,然后会弹出一个表单,允许您上传您的证书!

图形用户界面

一旦我将文件粘贴到那里,它就运行得很好!

相关内容