📌 CA 根证书安装与自签证书兼容说明(Windows / Linux / 各语言)
本系统 HTTPS 接口使用 CA 或自签名证书体系。
在未信任证书的环境中,可能出现以下错误:
解决方案分为两类:
在未信任证书的环境中,可能出现以下错误:
SSL certificate problem: unable to get local issuer certificate
x509: certificate signed by unknown authority
The underlying connection was closed
证书不受信任 / 握手失败
x509: certificate signed by unknown authority
The underlying connection was closed
证书不受信任 / 握手失败
解决方案分为两类:
- ✔ 正式方案:安装 CA 根证书(推荐)
- ⚠ 开发方案:忽略证书验证(仅测试环境)
✔ 方法一:图形界面安装(推荐)
1. 下载博易网专用证书(Windows / Linux / 各语言 通用): 下载CA根证书
2. 双击证书文件 → 安装证书
选择:当前用户 或 本地计算机(推荐)
3. 证书存储位置:
受信任的根证书颁发机构
4. 完成安装 → 确认成功
✔ 方法二:命令行安装(管理员)
certutil -addstore root BYW-RootCA.crt
验证:
certutil -store root
- CentOS / RHEL
- Ubuntu / Debian
cp BYW-RootCA.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust
update-ca-trust
cp BYW-RootCA.crt /usr/local/share/ca-certificates/
update-ca-certificates
update-ca-certificates
✔ 验证:
curl -k https://api.byw.bet:8680
出现:Hello World 即表示成功
🟦 C# / .NET
ServicePointManager.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
var handler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback =
(message, cert, chain, errors) => true
};
var client = new HttpClient(handler);
☕ Java
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);
🟨 Node.js
NODE_TLS_REJECT_UNAUTHORIZED=0
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
🐍 Python
requests.get(url, verify=False)
urllib3.disable_warnings()
🧪 curl
curl -k https://api.byw.bet:8680
✔ 生产环境:必须开启 HTTPS 证书验证
✔ 推荐安装 CA 根证书
✔ 自签证书仅用于测试环境
❌ 不建议关闭证书验证或忽略 SSL 错误
✔ 推荐安装 CA 根证书
✔ 自签证书仅用于测试环境
❌ 不建议关闭证书验证或忽略 SSL 错误
🧠 安装 CA 根证书是建立信任链,忽略证书验证是绕过安全机制,仅用于开发环境。