申请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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。