在用Android平台上使用SSL,第一步就是生成证书。
1、证书的生成
1.1生成服务器端的证书
keytool -genkey -alias test -keystore test.jks
1.2 将keystore中的cert导出来,用来生成客户端的验证证书
keytool -exportcert -alias test -file test.cert -keystore test.jks
1.3 生成Android平台的证书
因为Android 要求要BC证书,而Java的keytool本身不提供BKS格式,因此要自己手动配置。个人在配置的过程到了文件正在使用中,保存失败的情况,我的做法是将文件备份一下,用unlocker删除后将修改好备份放到原位置就好了。
1.3.1 下载 bcprov-ext-jdk15on-146.jar
可以选择到官网,注意,用最新的149版本的会有证书版本号不对的异常,改用146的则没有这个问题
1.3.2 配置bcprov
在 jdk_home\jre\lib\security\目录中找到 java.security 在内容增加一行(数字可以自己定义)
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
1.3.3 如是JDK1.6则下载bcprov-jdk16-141.jar,且将该文件放到jdk1.6.0_03\jre\lib\ext目录下
1.3.4 生成android平台的证书
keytool -importcert -keystore test.bks -file test.cert -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
发表回复
要发表评论,您必须先登录。