相关疑难解决方法(0)

请求自动或用户选择适当的客户端证书

我正在开发一个可能连接到不同服务器的混合cordova应用程序.其中一些确实需要客户证书.

在Android手机上安装相应的根证书+客户端证书.

在Chrome浏览器上,我得到以下对话框,为Web连接选择相应的客户端证书.

在Chrome上选择证书

使用cordova插件cordova-client-cert-authentication,在WebView中弹出相同的Http(s)请求对话框.

我的问题是如何在原生Android平台上实现Http(s)请求的自动证书选择,而无需明确声明相应的客户端证书.或者有类似用户选择的证书,如Chrome上实现的?

这是当前实现,它会抛出握手异常:

try {
    URL url = new URL( versionUrl );
    HttpsURLConnection urlConnection = ( HttpsURLConnection ) url.openConnection();

    urlConnection.setConnectTimeout( 10000 );

    InputStream in = urlConnection.getInputStream();
}
catch(Exception e)
{
    //javax.net.ssl.SSLHandshakeException: Handshake failed
}
Run Code Online (Sandbox Code Playgroud)

java ssl android client-certificates ssl-certificate

8
推荐指数
1
解决办法
1319
查看次数