Volley的Https请求

新建一个RequestManager类,添加代码中
private static  InputStream  keyStore  = App. getContext ().getResources().openRawResource(R.raw. test ) ;

//http请求

public static RequestQueue requestQueue = Volley.newRequestQueue(BaileysApplication.getContext());

//https请求

public static  RequestQueue  httpsQueue  = Volley. newRequestQueue (App. getContext () new  ExtHttpClientStack( new  SslHttpClient( keyStore "password" ,   port ))) ;

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代码就可以了。

你可能感兴趣的:(android)