。 实际上在Android中是无法使用jks证书的。 Android 系统中使用的证书要求是 bks格式 。 一般来说,我们使用jdk的keytool只能生成jks的证书库,如果生成bks的则需要下载BouncyCastle库。 搜集了各方资料,整理了以下如何将服务端提供的crt格式证书转换成Android上使用的bks证书。
- SSLContext
JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有。BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互操作。
目录下。
- Java\jdk1.8.0_20\jre\lib\ext
按照提示重复输入两次密码(在Java的
- keytool - importcert - trustcacerts - keystore e: \key.bks - file e: \server.crt - storetype BKS - provider org.bouncycastle.jce.provider.BouncyCastleProvider
对象加载证书时会用到这个密码。),然后就成功将E:\目录下的server.crt转成key.bks证书。
- KeyStore
。 实际上在Android中是无法使用jks证书的。 Android 系统中使用的证书要求是 bks格式 。
- SSLContext
JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有。BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互操作。
目录下。
- Java\jdk1.8.0_20\jre\lib\ext
按照提示重复输入两次密码(在Java的
- keytool - importcert - trustcacerts - keystore e: \key.bks - file e: \server.crt - storetype BKS - provider org.bouncycastle.jce.provider.BouncyCastleProvider
对象加载证书时会用到这个密码。),然后就成功将E:\目录下的server.crt转成key.bks证书。
- KeyStore
来源: http://bbs.thankbabe.com/topic/319/android中ssl通信中使用的bks格式证书的生成