在Android中对证书使用双向身份验证

在Android中对证书使用双向身份验证,android,cordova,ssl,Android,Cordova,Ssl,我的网络依赖于两个主要方面: Node.JS服务器:通过HTTPS为自签名CA和RESTful服务器工作 Android/PhoneGAP(Cordova)应用程序:向服务器发送Ajax请求 首先,我需要配置双向握手,因此我为服务器和客户端创建了密钥和证书。 我已经在Android上安装了CA根证书和客户端证书,我可以在设置->安全->证书->用户中看到它 现在,如果我尝试从浏览器(即Safari)访问我的服务器,会出现一个弹出窗口,询问我要使用哪个客户端证书,然后选择已安装的证书,一切正常

我的网络依赖于两个主要方面:

  • Node.JS服务器:通过HTTPS为自签名CA和RESTful服务器工作

  • Android/PhoneGAP(Cordova)应用程序:向服务器发送Ajax请求

首先,我需要配置双向握手,因此我为服务器和客户端创建了密钥和证书。 我已经在Android上安装了CA根证书和客户端证书,我可以在设置->安全->证书->用户中看到它

现在,如果我尝试从浏览器(即Safari)访问我的服务器,会出现一个弹出窗口,询问我要使用哪个客户端证书,然后选择已安装的证书,一切正常。 相反,如果我尝试从应用程序执行相同的请求,则不会显示弹出窗口,因为我无法选择任何证书到我的服务器


有没有办法指定在Android应用程序中使用某个证书?

经过5天的努力,我找到了一个解决方案……对于Android或IOS,您都需要安装Cordova插件,使您的应用程序能够检索位于WWW文件夹某处的客户端证书


通常,指向工具或库的链接,或者如果可能,指向上述所有内容的链接。