接着上一篇,文中提到的android不和java一样识别jks,所以我们要将其转化成bks这里面我们就系统的介绍下到底该如何去生成jks,bks等等

常用的证书密钥库格式:

BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互操作。

JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。

JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeyStore中的私钥上(使用TripleDES)

PFX(PKCS#12)是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。

UBER 比较特别,当密码是通过命令行提供的时候,它只能跟keytool交互。整个keystore是通过PBE/SHA1/Twofish加密,因此 keystore能够防止被误改、察看以及校验。SunJDK允许你在不提供密码的情况下直接加载一个Keystore,类似cacerts,UBER不 允许这种情况。

方法一

1生成服务器端的证书jks证书

[java]  view plain copy
  1. keytool -genkey -alias test -keystore test.jks

2用来生成客户端的验证cer证书

[java]  view plain copy
  1. keytool -exportcert -alias test -file test.cer -keystore test.jks

3生成android端的.bks证书

因为Android 要求要BC证书,而Java的keytool本身不提供BKS格式,因此要自己手动配置。个人在配置的过程到了文件正在使用中,保存失败的情况,我的做法是将文件备份一下,用unlocker删除后将修改好备份放到原位置就好了。

3.1 下载 bcprov-ext-jdk15on-146.jar 
可以选择 到官网 ,注意,用最新的149版本的会有证书版本号不对的异常,改用146的则没有这个问题

3.2 配置bcprov

在 jdk_home\jre\lib\security\目录中找到 java.security 在内容增加一行(数字可以自己定义)

[java]  view plain copy
  1. security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider

3.3 如是JDK1.6则下载bcprov-jdk16-141.jar,且将该文件放到jdk1.6.0_03\jre\lib\ext目录下

3.4 生成android平台的证书

[java]  view plain copy
  1. keytool -importcert -keystore test.bks -file test.cert -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

方法二:直接生成android的bks证书:

生成BKS的则需要下载BC库,如:是JDK1.6则下载bcprov-jdk16-141.jar,且将该文件放到jdk1.6.0_03\jre\lib\ext目录下,然后运行以下命令即可以生成BKS的证书库和相应的证书。

keytool -genkey -alias <别名> -keypass <密钥口令>  -keyalg RSA -keysize 1024 -validity 365 -keystore <库文件名>

例如:keytool -genkey -alias test -keypass 123456  -keyalg RSA -keysize 1024 -validity 365 -keystore test.bks

会在c盘的portecle-1.9文件夹下生成一个test.bks 的文件

jks bks 等的定义 如何将jks转化为bks的相关推荐

  1. android jks sha1,获取Android SHA1 、生成jks密钥、签名Apk

    获取应用包名. 打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应用包名. 获取 Sha1 值. 目前(2016/06/06)为止,各 ...

  2. 定义根目录, window格式 转化为linux格式

    define('ROOT_PATH', str_replace('includes/init.php', '', str_replace('\\', '/', __FILE__))); 转载于:htt ...

  3. Android 生成原生系统签名jks 与 keystore

    在漫长的Android开发生涯中难免需要实现某个系统应用的系统功能,比如,appstore的静默安装,静默卸载 这两个功能对app的权限是有要求的,app必须是系统级别的应用才行,每个厂商的定制不同, ...

  4. Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件

    Nginx证书配置:tomcat证书jks文件转nginx证书.cet和key文件 1.查看jks文件中的entry. keytool -list -keystore server.jks Enter ...

  5. Nginx证书配置:cer文件和jks文件转nginx证书.crt和key文件

    Nginx证书配置:cer文件和jks文件转nginx证书.crt和key文件 环境 步骤 1.利用JDK的keytool工具生成密钥库和证书(以下代码片段是一个bat脚本) 1.1 查看jks文件中 ...

  6. jks与pkcs12格式的keystore互转

    标准keystore(standard jdk keystore types)包括: JCEKS,JKS,PKCS12这几种格式,主要区别就是jceks可是用来存储对称密钥(分组密钥.私密密钥),而j ...

  7. 创建签名文件jks 乱码

    乱码问题 生成签名文件的时出现乱码:JKS ��Կ��ʹ��ר�ø�ʽ������ʹ�� "keytool -importkeystore -srckeystore ??.jks -dest ...

  8. 转载记录:android 手动生成jks及查看jks的SHA1值

    在Android studio 的Terminal里操作输入 1.手动生成.jks文件 keytool -genkey -alias test -keypass 123456 -keyalg RSA ...

  9. jks与keystore的转换

    1.jks转keystore 先生成.p12文件,用p12生成keystore. keytool -importkeystore -srckeystore targe.jks -srcstoretyp ...

最新文章

  1. C++中的cin、cin.getline()、getline()函数比较
  2. 层展开/关闭 - 运动缓冲效果
  3. java.io.file()_Java IO(一):IO和File
  4. TCP模拟QQ聊天案例
  5. LeetCode-Add Two Numbers
  6. ribbon源码(1) 概述
  7. java 检查进程是否存在
  8. 领域驱动设计(DDD):领域和子域
  9. C语言静态链表常用吗,C语言实现静态链表
  10. 《算法设计》求单峰数组
  11. USB转双串口产品设计-RS485串口
  12. SpringBoot非官方教程 | 终章:文章汇总(转载https://blog.csdn.net/forezp/article/details/70341818 本文出自方志朋的博客)
  13. 511遇见易语言教程外形框和模仿进度条闪烁效果
  14. ubuntu基础命令总结
  15. 制作背景透明图标的小工具(附源代码)
  16. csp-j2022比赛心得
  17. 扩展卡尔曼滤波的理解与对加入高斯噪声的正弦信号进行滤波实例
  18. 抛弃了wordpress
  19. NDK开发——Android Studio+CMake实现QQ变声效果
  20. Mac外接磁盘使用哪种格式速度最快,NTFS?exFAT?HFS+?APFS?

热门文章

  1. TexStudio提示:无法启动build view xelatex
  2. Ubuntu安装nvm
  3. kafka是什么,怎么用?
  4. c语言转义字符 xhh,jsj_C语言转义字符和格式控制符参考.pdf
  5. java 面试108
  6. typescript Awaited<Type>教程用法
  7. 动态规划解决币值最大化问题
  8. 常用布局方式与常用css
  9. P6-Vue3后台管理系统-构建业务组件连通公共组件
  10. UE-摄像机视角的切换