如何在 CloudFront 上正确安装 SSL?

How to install SSL on CloudFront correctly?

您好,我刚刚为我的域购买了 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 通过了。

其他人我得到了这个错误。

A client error (MalformedCertificate) occured when calling the UploadServerCertificate operation: Unable to validate certificate chain must start with the immediate signing certificate, followed by any intermediaries in order.

在使用 <a href="https://www.sslshopper.com/ssl-checker.html" rel="nofollow">https://www.sslshopper.com/ssl-checker.html</a> 检查我的 SSL 后,我得到了这个。

The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate. Learn more about this error. The fastest way to fix this problem is to contact your SSL provider.

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

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

所有 .crt 文件都有一个主题(证书证明有效的实体)和一个颁发者(签署证书的实体)。

您必须建立并提供这种 "chain" 信任,以便每个证书的主题反映 先前 证书的颁发者。

在您域的证书上使用 openssl x509 -text -noout -in <filename>,然后在每个 *Trust*.crt 证书文件上找到它们的 "Issuer" 和 "Subject" 值。

从您域证书中显示的 Issuer 值开始,找到显示您域证书 Issuer 值的 .crt 文件... 作为主题。该文件将位于链中的第一个。

然后记下该文件的 Issuer 并找到下一个文件,该文件的主题与前一个文件的 Issuer 相匹配...依此类推,直到您找出 assemble他们。链中的最后一个证书对于 Issuer 和 Subject 很可能具有相同的值,因为它是链的末端。

将三个 *Trust*.crt 文件的内容按照上述步骤确定的顺序合并到一个新文件中,并将您创建的新文件用作 "certificate chain" 文件。请记住,您域的 .crt 文件不会进入链文件,因为您是单独发送的。