private static InputStream keyStore = App. getContext ().getResources().openRawResource(R.raw. test ) ;
//http请求
public static RequestQueue requestQueue = Volley.newRequestQueue(BaileysApplication.getContext());
//https请求
1. 首先,需要一个加密工具Bouncy Castle,下载地址:
http://www.bouncycastle.org/latest_releases.html
在SIGNED JAR FILES下面选择对应的jar包来下载,要对应电脑所安装的jdk的版本。在这里,我使用的是bcprov-jdk15on-153.jar
2. 为了方便,把服务端的ssl证书文件和这个jar包放在同一个目录,打开终端(windows下打开cmd),输入下面的代码:
keytool -importcert -v -trustcacerts -file "test.cer(服务端SSL证书文件名+后缀名)" -alias 你的app包名 -keystore "my.bks(目标生成的bks文件,文件名称随便取,后缀名为bks)" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk15on-153.jar" -storetype BKS
过一会终端会提示输入密码,这个是加密证书的密码,我们代码中需要用到,切记这个密码,不然又要重新操作。输入两次密码结束,终端继续问,是否信任此证书,输入:y,然后回车,加密证书就生成完毕。
3. 然后把这个生成出来的my.bks放在自己项目的raw目录下,在添加相应的ExtHttpClientStack,SslHttpClient代码就可以了。