客户端与服务器SSL双向认证(客户端:Android

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

(一)服务端

已经生成了client.p12、server.p12、ca.p12;主要实现客户端过程

(二)目录结构

(三)客户端注意

1.生成bks,时候需要去下载对应的jar包:

问题1:keytool错误:java.lang.ClassNotFoundException:org.bouncycastle.jce.provider.BouncyCastleProvider解决:刚开始下载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.crtkeytool -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

参考:

问题4:AndroidManifest.xml里面加上权限

<uses-permission android:name="android.permission.INTERNET"/>

问题5:

其他准备好时候,执行通不过(纠结很久)

Client_sslSocket = (SSLSocket) sslContext.getSocketFactory()

.createSocket(SERVER_IP, SERVER_PORT);

导致Connect refuse

问题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

参考:

你曾经说,等我们老的时候,

客户端与服务器SSL双向认证(客户端:Android

相关文章:

你感兴趣的文章:

标签云: