我正在编写一个 Android 应用程序,它需要与我网络中的某个 Web 服务器执行 HTTPS 连接。
此 Web 服务器具有由自定义证书颁发机构签名的服务器证书,因此尝试简单连接会失败,因为在设备尝试建立连接时 CA 是未知的:这很公平。
现在我在设备上下载了 CA 证书并将其导入到用户“受信任的凭据”设置页面中。它显示(在“用户”选项卡下),我可以单击它并查看它具有预期的详细信息。
但是,设备在执行 HTTPS 连接时似乎忽略了这个新的 CA 证书,并且我在连接时遇到了与之前完全相同的错误:
未找到证书路径的信任锚。
如果我尝试在设备上使用 Chrome 浏览服务器,也会发生同样的事情。我被告知“此站点的安全证书存在问题”。
我使用测试了我的认证链openssl verify
,一切似乎都很好。
我不知道这里发生了什么。
我可以在浏览器中无法打开 Web 服务器页面的情况下生活,但我希望至少能够使用用户“受信任的凭据”列表从我的应用程序建立连接(不,完全禁用证书验证是不是可接受的解决方案)。
我怎样才能做到这一点 ?