Loading
close

当上传Let's Encrypt颁发证书时,提示证书链校验失败,如何排查解决

time 更新时间:2022-06-01 19:14:34

问题描述

证书与密钥服务云产品支持将第三方生成的证书上传至云平台,进行统一存储与管理,有效提高证书运维效率。但是,当上传Let’s Encrypt颁发的证书时,可能提示“证书链和证书无法构成完整的一条链,请确认后重试”。

./images/cs_faq_image04.png

问题原因

证书与密钥服务云产品要求所上传证书的证书链正确且完整,而Let’s Encrypt颁发的证书,在下载后证书包中证书链信息可能是不正确的,需要手动处理后再上传。

在Let’s Encrypt颁发的证书中,证书包内包含文件如下:

  • cert.pem:所申请的服务器证书,可以直接上传至“上传证书”对话框的“证书内容”参数中。

  • privkey.pem:服务器证书所对应的私钥文件。该私钥文件为通用PEM格式,需参考 当上传证书时提示私钥格式校验失败,如何排查解决 转换为对应算法格式后,再上传至“上传证书”对话框的“证书私钥”参数中。

  • chain.pem:签发服务器证书的CA证书链。该证书链中根CA的证书可能不正确,需获取正确根CA的证书,再上传至“上传证书”对话框的“证书链”参数中。

  • fullchain.pem:包含签发服务器证书的CA证书链和服务器证书。

解决方案

  1. 通过文本编辑器打开chain.pem文件,依次将该文件中以 —–BEGIN CERTIFICATE—– 开头,并最小范围内以 —–END CERTIFICATE—– 结尾的一段内容,复制到一个独立文件中,且命名为 chain-X.crt 格式,以作为一个CA证书。

  2. 提取Let’s Encrypt CA证书。依次双击打开上述CA证书,以确认Let’s Encrypt的证书文件,该CA证书内容即为所上传证书的证书链部分内容。

    下文将介绍两种常见操作系统确认Let’s Encrypt证书文件的具体方法,请根据实际操作环境执行对应操作:

    • Mac操作系统:

      在“主题名称”区域框下,“组织”为 Let’s Encrypt 的CA证书。

      ./images/cs_faq_image05.png

    • Windows操作系统:

      在 [详细信息] 页签中,“使用者”为 Let’s Encrypt 的CA证书。

      ./images/cs_faq_image06.png

  3. 提取根CA证书。根CA文件内容即为所上传证书的证书链剩余内容。下文将介绍两种常见操作系统的具体提取方法,请根据实际操作环境执行对应操作:

    • Mac操作系统:

      1. 在本地计算机中,打开“钥匙串访问”窗口。之后,在左导航中选择 [系统根证书],并在页面上方选择 [证书]页签,进入“证书”页面。

      2. ISRG Root X1 所在行右键单击后,在右键菜单中选择 导出“ISRG Root X1”,将其存储至本地(文件格式请选择“增强保密邮件(.pem)”)。

    • Windows操作系统:

      1. 在本地计算机中,通过按 Win + R 键,打开“运行”窗口。之后,输入“certmgr.msc”,进入“证书”页面。

      2. 在左侧导航栏中,选择 [受信任的根证书颁发机构]-[证书]后,在右侧显示页面中右键单击 ISRG Root X1 所在行后,在右键菜单中选择 所有任务 - 导出 后,按提示将其导出存储至本地(文件格式请选择“Base64 编码 X.509(.CER)(S)”)。

  4. “上传证书”对话框中“证书链”参数的值即为 Let’s Encrypt CA证书文件内容 + 根CA证书文件内容 ,二者之间通过换行分隔开即可。

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品