我已经在 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 操作系统上运行,请执行以下操作:
如果您使用地理信任证书,那么对于 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 证书有问题;根据
我可以通过反转 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 证书选项卡下的选择,然后会弹出一个表单,允许您上传您的证书!
一旦我将文件粘贴到那里,它就运行得很好!