客户端与服务器SSL双向认证(客户端Android-服务端vc)-含源码
(一)服务端
已经生成了client.p12、server.p12、ca.p12;主要实现客户端过程
(二)目录结构

(三)客户端注意
1.生成bks,时候需要去下载对应的jar包:http://www.bouncycastle.org/latest_releases.html
问题1
:keytool错误:java.lang.ClassNotFoundException:org.bouncycastle.jce.provider.BouncyCastleProvider
解决:刚开始下载bcprov-ext-jdk15on-148.jar里面没有对应的类
解决:刚开始下载bcprov-ext-jdk15on-148.jar里面没有对应的类
重新下载了bcprov-ext-jdk16-146.jar即可
问题2
:keytool错误:java.lang.Exception:所输入的不是一个X.509认证(如果出现,这个问题,供参考)
解决:刚开始执行
keytool -import -alias serverkey -file client.jks -keystore tclient.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
之后先将client.jks->client.crt
keytool -export -alias dev -keystore client.jks -file e:\client.crt
再执行
keytool -import -alias serverkey -file e:\client.crt -keystore tclient.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
即生成了tclient.bks
解决:刚开始执行
keytool -import -alias serverkey -file client.jks -keystore tclient.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
之后先将client.jks->client.crt
keytool -export -alias dev -keystore client.jks -file e:\client.crt
再执行
keytool -import -alias serverkey -file e:\client.crt -keystore tclient.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
即生成了tclient.bks
问题3:jks转bks出现illegal Key Size
下载
jce_policy-1_4_2.zip
后解压,放入$JAVA_HOME/lib/security/目录下替换原来的jar包
问题4:
AndroidManifest.xml里面加上权限
<uses-permission android:name="android.permission.INTERNET"/>
问题5
:
其他准备好时候,执行通不过(纠结很久)
Client_sslSocket = (SSLSocket) sslContext.getSocketFactory()
.createSocket(SERVER_IP, SERVER_PORT);
导致Connect refuse绝绝连接:ip地址不正确,不能用127.0.0.1,通过ipconfig得到的ip使用即可
问题6:
生成BKS格式问题,这个直接通过代码p12转bks(后续在再附上)
问题7:
使用对应bks问题,client.p12->client.bks 、server.p12->server.bks

问题8:
发送信息,堵塞问题

调用ready()得不到信息

========================================
包含服务端的执行文件Release.rar(执行SSLServeTest.exe即可)
端口为8443,ip:127.0.0.1
参考:
http://blog.youkuaiyun.com/hezhipin610039/article/details/7074000
http://blog.youkuaiyun.com/xiaotanyu13/article/details/7928904