功能包下载过程中SSL验证失败的解决方法
现象描述
功能包下载过程中SSL验证失败,提示CA Bundle文件不存在、文件不可读或证书校验失败。
可能原因
通常是目标系统未安装ca-certificates,或当前环境中的CA Bundle路径与程序默认探测路径不一致。
处理步骤
- 请先确认系统已安装ca-certificates。
- 执行以下命令查询是否已安装ca-certificates。
rpm -q ca-certificates
若返回如下类似信息,则表示已经安装ca-certificates,请执行2;否则先安装ca-certificates。ca-certificates-2023.2.64-2.oe2403sp1.noarch
- 安装ca-certificates。
yum install ca-certificates
- 执行以下命令查询是否已安装ca-certificates。
- 检查对应发行版的常见CA Bundle路径是否存在且当前进程可读。
程序会优先使用“SSL_CERT_FILE”指定的路径,若未指定,则会按常见系统路径依次探测,并仅使用实际存在、可读的普通文件。
表1 常见CA Bundle路径说明 系统类型
常见路径
Red-Hat系列
例如:Kylin、openEuler
/etc/pki/tls/certs/ca-bundle.crt
如果系统中存在可用的CA Bundle文件,但程序未自动识别,可以通过SSL_CERT_FILE=<实际CA Bundle路径>显式指定。例如:
export SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt
- 建议不要关闭SSL证书校验,关闭校验会使程序无法验证HTTPS服务端的身份,存在中间人攻击的风险。
- 若确需在临时测试或受控环境中关闭,可在配置文件“{INSTALL_PATH}/config/package.yaml”中将“download_defaults.ssl_verify”设置为“false”。其中,{INSTALL_PATH}表示DevKit AI安装路径。
download_defaults: ssl_verify: false
- 生产环境应保持ssl_verify: true,并使用有效、可信且可读的系统CA Bundle文件。
父主题: FAQ