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


22

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

检查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的证书链框中之前,请确保从证书链(最高级的证书)中删除公共crt。

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

  • 到这里
  • 单击“零售ssl”选项卡,然后单击“安全站点”>“用于Apache Server的CA Bundle”
  • 将这些中间证书复制并粘贴到证书链盒中。以防万一,如果您没有找到它,这是直接链接

如果您使用的是地理信任证书,那么该解决方案与Android设备的解决方案完全相同,但是,您需要复制并粘贴其针对Android的中间证书。


中级证书==链证书
Chris

谢谢@克里斯,你能告诉我我如何创建连锁证书。我曾尝试使用谷歌搜索,但是我真的很困惑如何创建此链证书。任何建议或指向教程的链接都将不胜感激
getmizanur 2012年

@getmizanur该证书来自哪里?CA提供者应该能够为您提供PEM编码的链。
Shane Madden

Answers:


21

按以下顺序串联手动提供的文件:

  • site.com.crt
  • middle.crt(一个或多个,这些顺序无关紧要)
  • 根目录

您可以使用以下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-----

谢谢@eric,我只有两个文件签名为.crt和.key。您能告诉我如何获取中间和根crt文件吗?
getmizanur 2012年


3
将站点证书与那些中间件(没有根证书)连接在一起。
埃里克·富通斯

@EricFortis如果AWS负载平衡器想要一个单独的证书文件和链文件,则可能只需要中间件和根目录,而没有主题证书-不确定!
Shane Madden

7

我的快速SSL证书有问题;按照

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO21856&actp=search&viewlocale=zh_CN&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 Bundle证书

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

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

...


反转我的ca-bunle文件中的证书就像是一种魅力。谢谢!
Mehmet FatihYıldız2013年

这个。这是正确的答案。你帮了我很多
Andrey

5

我不得不经历同样的问题。只需上传带有以下内容的pem文件即可解决此问题。它不喜欢顶部的网站证书

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

2
您的答案不是很清楚,但看起来与已经给出并被接受的答案非常相似。这真的是这个问题的另一个答案吗?
Tonin

这个答案对我有用。我遵循了公认的答案,加入了站点证书,但这没有用。只需按照此答案中的说明放置中间证书和根证书,就可以了!
user1258600 2014年

4

对于Comodo发行的证书

    Private Key: private_key.text
    Public Key Certificate: yourdomain.crt
    Certificate Chain: combine these 2
    cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > certchain.txt
    (or paste in COMODORSADomainValidationSecureServerCA.crt first followd by COMODORSAAddTrustCA.crt) 

0

我也已经购买了RapidSSL证书,并一直在尝试解决“无效的公钥证书”错误。我尝试了此处列出的所有内容,包括反转链证书,忽略它们,将它们附加到主服务器证书等。

最后,我只是无法使错误消失。因此,我找到了另一种将证书上传到Amazon以与负载均衡器(Elastic Beanstalk)一起使用的方法:实际上,有一个GUI可以上传证书!

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

图形用户界面

一旦我将文件粘贴到那里,它就像一个魅力!


另外,请确保您尝试上载“ RSA私钥”。stackoverflow.com/questions/17733536/...
埃拉德纳瓦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.