我的Web服务器已设置为强制执行HTTPS,因为将来我正在从事涉及用户数据传输的项目,因此需要加密。但是现在我只是测试一下。不幸的是,无论如何尝试,我似乎都无法解决!
我使用的是自定义服务器引擎(用C语言编写,当然可以实现最高速度!),SSL是使用安装在最新Ubuntu服务器上的openssl来实现的。我可以提供一些相关的代码,但事实是...它可以在Chrome,Edge和Firefox中100%完美地运行,并且可以在PC,Mac,Android甚至我的旧iPhone上进行测试。所有人都没有协商TLS 1.2 AES的问题。
但是特别有两件事是行不通的。其中之一是CURL,它似乎因与SSL相关的模糊错误“((60)SSL证书问题:无法获取本地发行者证书”而失败),奇怪的是,我的智能电视LG B8 OLED也存在证书错误,并且建议仔细检查正确的日期/时间设置。
如果有人要测试,请在这里输入网址:https://forestfire.net
答案 0 :(得分:0)
该消息与此处记录的X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
错误相同:
https://www.openssl.org/docs/manmaster/man3/X509_STORE_CTX_get_error.html
找不到发行者证书:如果发行者发生 找不到不受信任的证书的证书。
通常,在配置服务器时,需要设置服务器自己的证书以及证书链中任何必需的中间证书(这些是上面提到的“不受信任”的证书)。在客户端,您需要信任的CA证书列表。
如果证书链中的中间证书列表以某种方式丢失或不正确,或者客户端的信任库中没有“不可信”链顶部的CA,则可能会出现此错误。 / p>
如果不同的客户端在其信任库中具有不同的证书,则可以在不同的客户端之间获得不同的行为。例如,浏览器可能已缓存了一些中间证书,因此即使服务器未提供证书也可以完成整个链。