安卓SSL证书格式:pfx转换BKS格式证书

申请SSL证书

  实际上在Android中是无法使用pfx格式证书,Android 系统中使用的证书要求是bks格式。要转换bks证书格式,首先要搭建转换证书的环境。

  一、jdk默认情况下是不支持BKS证书格式,需要额外下载jar包,具体步骤如下:

  1、下载jar包,下载地址 https://www.bouncycastle.org/download/bcprov-ext-jdk15on-154.ja

  2、将下载好的bcprov-ext-jdk15on-154.jar复制到%JDK_HOME%jrelibext下

  3、用文本编辑器打开%JDK_HOME%jrelibsecurityjava.security文件,在相应位置添加如下配置(前面已经有10个了)

  security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvide

  二、证书文件准备,在合信(https://ssl.51mubanji.com/)CA申请到的pfx格式证书,需要在windows上导入导出,以得到带有顶级根的pfx证书,操作如下:

  1、双击安装pfx格式证书,输入密码后,其他按默认方式进行下一步操作(过程中需要选择 允许导出私钥),直到完成。

  2、开始-->运行,输入certmgr.msc,在个人-->证书中找到刚刚安装的证书文件,右键该证书,选择所有任务-->导出,导出的过程注意要勾选运行导出私钥,其他默认方式,密码设置要简单,如数字1(否则后面转换BKS证书的时候会提示非法私钥),直到完成。

  三、使用刚刚调整过的jdk环境,转换证书格式。

  windows环境:

  开始-->运行,输入cmd,通过cd命令,进入%JDK_HOME%jrebin目录下,输入如下命令

  keytool -importkeystore -srckeystore pathname.pfx -destkeystore pathname.bks -srcstoretype PKCS12 -deststoretype BKS

  执行命令之后会要求输入三次密码,前两个密码是BKS证书文件密码(这里的密码可以任意设置),最后一个是新转换的PFX证书文件的密码。

  linux环境:

  通过cd命令,进入到%JDK_HOME%/jre/bin目录下,输入如下命令

  ./keytool -importkeystore -srckeystore path/name.pfx -destkeystore path/name.bks -srcstoretype PKCS12 -deststoretype BKS

  执行命令之后会要求输入三次密码,前两个密码是bks证书文件密码,最后一个是新转换的pfx证书文件的密码。

  四、验证BKS证书文件

  keytool -list -v -storetype BKS -keystore pathname.bks

  ./keytool -list -v -storetype BKS -keystore path/name.bks

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券