带有 AWS ELB 和 GoDaddy 证书的证书链

带有 AWS ELB 和 GoDaddy 证书的证书链

我正在尝试在 AWS ELB 上设置 SSL,但目前无法弄清楚“证书链”字段中的内容。我收到以下错误:

无法验证证书链。证书链必须以直接签名证书开始,然后按顺序跟在中间证书后面。无效证书链中的索引为:-1

我有 PEM 格式的私钥和证书,并且已上传。如果我在不使用“可选”链的情况下使用这些私钥和证书,则其工作方式不受信任。我一直在四处寻找答案,想知道应该将什么内容放入该字段,并且这个答案建议下载gd_bundle-g2.crt- 我已完成此操作并通过运行将其转换为 PEM openssl x509 -inform PEM -in gd_bundle-g2.crt,但错误仍然存​​在。当我从 GoDaddy 下载证书时,我获得了一个包含 SSL 证书以及 的 ZIP 文件gdig2.crtgd_bundle-g2-g1.crt我尝试过以各种组合使用这些文件,也尝试过单独使用这些文件,但同样没有任何效果。

哪些证书进入证书链、按照什么顺序、采用什么格式?

答案1

所以问题在于我一路上犯了几个错误。首先,我-----BEGIN CERTIFICATE-----从密钥库生成的 PEM 中取出了部分keytool。其次,我试图转换文件gd_bundle-g2-g1.crt- 它已经包含了我需要使用的内容。

从头开始 - 我使用了 Digicert 的Java 密钥工具使用 生成获取密钥库和 CSR 的命令keytool。然后,我通过 GoDaddy 获得了通配符 SSL 证书,并下载了我的证书,该证书与 和 一起放在一个 ZIP 文件中gdig.crtgd_bundle-g2-g1.crt之后,我按照以下步骤从密钥库中获取私钥StackOverflow 答案。但是,foo.pem此命令中的文件需要再来一个命令openssl rsa -in foo.pem -out foo.rsa以获得 AWS 专家组接受的最终形式。

现在在 AWS 上填写 SSL 表格:

  • foo.rsa私钥:上一步中的文件内容。
  • <your_cert>.crt公钥证书: GoDaddy 提供的文件内容
  • gd_bundle-g2-g1.crt证书链: GoDaddy 提供的文件内容

这已为我成功设置了 AWS ELB 的 SSL 证书,并具有正确的证书路径,为我提供了受信任的证书。

答案2

这不是一个简单的过程,而且文档也不是很好。

此版本的使用 Gandi.net SSL 证书的过程可能会帮助你解决这个问题,它比官方文档好得多

http://lexical.scopely.com/2015/03/11/uploading-an-ssl-cert-from-gandi-net-to-iam/

答案3

需要注意的是,中间证书并不特定于您的域或证书。因此,每个与您的证书类似的证书都具有完全相同的中间证书。

你可以把它们想象成支票上的路由号码。路由号码是必需的,但它实际上更多地反映了你的银行信息,而不是你的信息。你的帐号,或者在这种情况下是你的证书,是你的唯一身份。

由于中级证书的通用性质,有如下网站:

https://www.ssl2buy.com/wiki/ssl-intermediate-and-root-ca-bundle

所有中间证书均已预先捆绑(并按正确的顺序)给不同的证书颁发者。

相关内容