HTTPS 证书报错
错误提示
调用 HTTPS 接口出现证书认证错误或者提示证书已经过期。
原因及解决方案
1. 证书不合法
API 提供者使用的证书其他非主流机构颁发的证书,此类证书使用浏览器访问是没有问题的,因为浏览器会自动更新根证书。但老版本操作系统的根证书对这些机构(证书颁发机构)的不信任或者信任时间已经过期。
解决方案
- 升级客户端根证书。如:Java+Linux 升级 OpenSSL 客户端即可,其他操作系统+编程语言,请升级编程语言中 HTTPS 使用的根证书。
- 联系 API 提供者,要求其更换兼容性更好的主流 SSL 证书。
- 程序中忽略检查 SSL 证书有效性(不推荐),忽略后会有请求被劫持的安全风险。只在与 API 提供商无法提供兼容性更好的主流 SSL 证书,且安全风险可控的前提下,可以考虑使用此方法。
2. API提供者的 SSL 证书过期
提供者的 SSL 证书过期。
解决方案
- 联系 API 提供者,要求其更换 SSL 证书。
- 程序中忽略检查 SSL 证书有效性(不推荐),忽略后会有请求被劫持的安全风险。只在与 API 提供商无法提供兼容性更好的主流 SSL 证书,且安全风险可控的前提下,可以考虑使用此方法。