您好我刚为我的域名购买了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
答案 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文件不会进入链文件,因为您需要单独发送。