CURL报错:未找到SSL证书文件问题

发布时间:2026/8/1 16:37:29
CURL报错:未找到SSL证书文件问题 ☠️ 错误问题[0] cURL error 77: error setting certificate file: /opt/homebrew/etc/openssl3/cert.pem (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 错误原因分析这个curl: (77) error setting certificate file错误通常是因为curl在指定的路径下找不到有效的SSL证书文件查找证书是否存在ls -l /opt/homebrew/etc/openssl3/cert.pem查询结果ls: /opt/homebrew/etc/openssl3/cert.pem: No such file or directory //文件不存在️解决方案1.http请求是关闭证书方案PHP 原生 cURL 关闭 SSL 校验$ch curl_init($url); // 核心两行关闭SSL校验 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 不校验服务端证书合法性 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不校验证书域名匹配 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, [Content-Type:application/json]); $resp curl_exec($ch); curl_close($ch);PHP GuzzleHttp 关闭证书校验方式 1客户端全局关闭该实例所有请求生效use GuzzleHttp\Client; $client new Client([ verify false, // 一键关闭SSL校验 ]); $res $client-get($url);方式 2仅单次请求关闭$client new Client(); $res $client-get($url, [ verify false ]);2.本地存在证书处理方案查找证书ls -l $(brew --prefix ca-certificates)/share/ca-certificates/cacert.pem查询结果/opt/homebrew/opt/ca-certificates/share/ca-certificates/cacert.pem证书存在推荐两种方案方案一设置环境变量编辑你的 Shell 配置文件~/.zshrc或~/.bash_profile加入下面这行export SSL_CERT_FILE$(brew --prefix ca-certificates)/share/ca-certificates/cacert.pem保存后执行source ~/.zshrc让配置生效。这样所有遵循SSL_CERT_FILE环境变量的程序如 Python、Node.js 等都能自动找到正确的证书文件。方案二手动创建软链接如果你希望 OpenSSL 的默认目录里有一个cert.pem可以手动创建软链接ln -sf $(brew --prefix ca-certificates)/share/ca-certificates/cacert.pem /opt/homebrew/etc/openssl3/cert.pem3.手动下载证书更新从 curl - Extract CA Certs from Mozilla 下载cacert.pem文件。将其复制到目标位置sudo cp ~/Downloads/cacert.pem /opt/homebrew/etc/openssl3/cert.pem知识点补充1.基于MacBook M芯片openssl扩展安装在多数开发环境中OpenSSL 作为基础加密库被广泛依赖可能你电脑安装mysql、redis、php等已经将OpenSSL安装成功检测OpenSSL是否安装openssl -v操作过程# 安装成功提示版本信息 OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025)未安装推荐homebrew进行安装# 搜索openssl扩展 brew search opnessl 查看openssl扩展信息 brew info openssl3 安装openssl扩展安装3.x brew install openssl3openssl详细信息 openssl3 ✔: stable 3.5.0 (bottled) Cryptography and SSL/TLS Toolkit https://openssl-library.org Installed /opt/homebrew/Cellar/openssl3/3.5.0 (7,563 files, 37MB) * Poured from bottle using the formulae.brew.sh API on 2026-02-04 at 14:49:48 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/openssl3.rb License: Apache-2.0 Dependencies Required: ca-certificates ✔ Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /opt/homebrew/etc/openssl3/certs and run /opt/homebrew/opt/openssl3/bin/c_rehash Downloading https://mirrors.aliyun.com/homebrew/homebrew-bottles/api/formula/openssl3.json Analytics install: 472,664 (30 days), 1,249,026 (90 days), 5,076,655 (365 days) install-on-request: 82,242 (30 days), 195,745 (90 days), 699,420 (365 days) build-error: 9,420 (30 days)安装后路径M芯片必须用/opt/homebrew/opt/openssl3路径Intel芯片用/usr/local/opt/openssl3路径