我正在尝试将自定义SSL证书与Cloudfront相关联。我使用cert,privatekey和chain将其上传到IAM。我给了它一个/ cloudfront的上传路径。
我还要求并获得AWS的许可,以便在Cloudfront中使用自定义SSL。
但是,当我在云端控制台中并尝试关联证书时,按“是,编辑”按钮时出现跟随错误。
“指定的查看器证书不存在或无效。” (查看附图)
我从DNSimple购买了通配符证书,并按照这些说明进行操作(https://devcenter.heroku.com/articles/ssl-certificate-dnsimple)
有什么想法如何前进?我可能错误地提出了我的证书,但我不知道如何调试它。我是否有可能正确地制作了证书,而且我的aws帐户或Cloudfront配置有问题?
谢谢!
答案 0 :(得分:12)
所以我想出了问题!
默认情况下,DNSimple会使您成为2432位密钥,该密钥大于Amazon允许的最大大小2048位。如果要测试密钥和证书的大小,请运行以下命令:
私钥:
openssl rsa -in private.key -text -noout
示例:私钥:(2048位)
证书:
openssl x509 -in public.cert -text -noout
示例输出:公钥:(2048位)
每个命令的输出将告诉您它有多少位。如果您从DNSimple购买了SSL证书,则可以向他们发送消息,他们可以使用不同的大小重新授权您的证书/密钥。
执行此操作后,将您的证书与Cloudfront分发版关联起来应该有效。
答案 1 :(得分:0)
也遇到了这个错误,花了更多的时间,而不是试图找出它失败的原因(密钥大小超过2048,证书链等)。
我在通过Terraform创建分发时尝试使用IAM证书(指定iam_certificate_id)。查看了用于创建分发的AWS Web界面,没有选项可以输入IAM证书ID,并且它似乎只允许ACM证书。现在是否已删除对IAM证书的支持(似乎在AWS控制台上不可用)?
当使用ACM证书而不是IAM证书时,它对我来说很好。