解决Android调用https服务API时出错的问题

       今天同事告诉我说他的应用调用我开发的API报异常了,原因跟SSL有关系,因为之前调试一直调用的是HTTP服务API,今天调试HTTPS服务API时报错了,并且找到了一篇文章让我看了一眼,文章中提到了Web服务器jetty 和nginx没有提到apache,并且解决方案里只有nginx的,而我们用的是apache,并且我们的API在浏览器和soapui中测试都是可以的,不知道为什么在Android这里卡住了。

想了一下,因为之前弄的证书中有三个文件,其中有一个证书文件没有用到,那个证书应该是根证书,先不管那么多,在网上找了一下关于apache设置根证书的方法,改上去,重新加载了一下,再让同事测试一下,OK了,解决问题了。

<VirtualHost *:443>
        ServerName test.test.com
        DocumentRoot /var/www/html/demo
        SSLEngine On
        SSLOptions +StrictRequire
        SSLCertificateFile /etc/ssl/certs/2_test.com.crt
        SSLCertificateKeyFile /etc/ssl/certs/3_test.com.key
    #就是下面这一行,不能省了 SSLCertificateChainFile
/etc/ssl/certs/1_root_bundle.crt </VirtualHost>

总结:申请证书时,人家给了三个文件,那三个都得用上才行.

原文地址:https://www.cnblogs.com/linkbiz/p/5461710.html