如何在CloudFront上正确安装SSL?

时间:2015-05-20 17:03:36

标签: ssl amazon-s3 ssl-certificate amazon-cloudfront

您好我刚为我的域名购买了SSL。联系我的SSL服务后,我有5个来自我的提供商的文件。

my_domain.crt
AddTrustExternalCARoot.crt
TrustedSecureCertificateAuthority5.crt
USERTrustRSAAddTrustCA.rt
my_domain.private_key

我的提供者说我必须安装所有这些。

我使用AWS CLI安装此命令。

aws iam upload-server-certificate --server-certificate-name my_domain \
--certificate-body file://my_domain.crt \
--private-key file://my_domain.private_key \
--certificate-chain file:://AddTrustExternalCARoot.crt \
--path /cloudfront/

我尝试了所有的.crt文件,但只有TrustedSecureCertificateAuthority5.crt通过了。

其他人我收到此错误。

  

调用时出现客户端错误(MalformedCertificate)   UploadServerCertificate操作:无法验证证书   chain必须以立即签名证书开头,然后是   任何中介机构。

使用https://www.sslshopper.com/ssl-checker.html检查我的SSL后,我得到了这个。

  

所有网络浏览器都不信任该证书。你可能需要   安装中间/链证书以将其链接到受信任的根   证书。详细了解此错误。解决这个问题的最快方法   问题是联系您的SSL提供商。

Common name: my_domain
SANs: my_domain
Organization: My Org
Location:  US
Valid from : Date
Serial Number: 
Signature Algorithm: 
Issuer: Trusted Secure Certificate Authority 5  

Common name: Trusted Secure Certificate Authority 5
Organization: Corporation Service Company
Location: Wilmington, DE, US
Valid from September 9, 2014 to September 9, 2024
Serial Number: 
Signature Algorithm: 
Issuer: USERTrust RSA Certification Authority

1 个答案:

答案 0 :(得分:1)

证书链文件是"链"信任它是所有(通常)提供的*Trust*.crt文件内容的组合,需要按特定顺序组合,包括每个文件中的开始/结束行。

所有.crt个文件都有一个Subject(证书认证为有效的实体)和一个Issuer(签署证书的实体)。

你必须建立并展示这个"链"信任,以便每个证书的主题反映之前证书的颁发者。

在您的域名证书上使用openssl x509 -text -noout -in <filename>,然后在每个*Trust*.crt证书文件上使用*Trust*.crt找到他们的&#34;发行人&#34;和&#34;主题&#34;值。

从域名证书中显示的颁发者值开始,找到.crt文件,其中包含您所在域的证书颁发者值...作为主题。该文件将首先出现在链中。

然后记下该文件的发行人,找到下一个文件,该文件的主题与之前文件的发行人匹配......依此类推,直到你弄清楚其中的顺序为止组装它们。链中的最后一个证书很可能对Issuer和Subject都具有相同的值,因为它是链的末尾。

按照上述步骤确定的顺序将三个alias upper "!$" | tr "[a-z]" "[A-Z]"文件的内容合并到一个新文件中,并将您创建的新文件用作&#34;证书链&#34;文件。请注意,您的域名.crt文件不会进入链文件,因为您需要单独发送。