客户端与服务器SSL双向认证(客户端:Android-服务端:vc)-含源码

客户端与服务器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-jdk16-146.jar即可
参考: http://wenku.baidu.com/view/4bdb903d0912a216147929c6.html JavaBouncy Castle
问题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
问题3:jks转bks出现illegal Key Size
下载 jce_policy-1_4_2.zip 后解压,放入$JAVA_HOME/lib/security/目录下替换原来的jar包
问题4AndroidManifest.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


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值