开发者
资源
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

功能包下载过程中SSL验证失败的解决方法

现象描述

功能包下载过程中SSL验证失败,提示CA Bundle文件不存在、文件不可读或证书校验失败。

可能原因

通常是目标系统未安装ca-certificates,或当前环境中的CA Bundle路径与程序默认探测路径不一致。

处理步骤

  1. 请先确认系统已安装ca-certificates。
    1. 执行以下命令查询是否已安装ca-certificates。
      rpm -q ca-certificates
      若返回如下类似信息,则表示已经安装ca-certificates,请执行2;否则先安装ca-certificates。
      ca-certificates-2023.2.64-2.oe2403sp1.noarch
    2. 安装ca-certificates。
      yum install ca-certificates
  2. 检查对应发行版的常见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文件。