美文网首页Android开发
Android开发:多个根证书存入bks库操作

Android开发:多个根证书存入bks库操作

作者: Z岛主 | 来源:发表于2024-03-17 17:19 被阅读0次

    1.Android的bks

      1.1.bksFile是将1~多个如 .crt 格式的CA根证存入bks库中,当与服务器https通信时,会自动匹配、使用bks库中合适的某个证书。如果bks中内置了a、b两个根证,服务器默认使用a进行通信,当a快过期时,服务器SSL配置切换成与b根证对应的未过期的服务器证书,这时候app不用做任何调整,也不用升级的,同时支持新旧证书,无缝支持后台https证书升级。

    2.bks操作步骤

        2.1.下载 bcprov-ext-jdk15on-158.jar,将 jar 文件拷贝到 %JAVA_HOME%\jre\lib\ext;

        2.2.要导入的根证类型一般是 .cer 或者 .crt。如果要导入多个根证,执行多次下面的命令即可。

    keytool -importcert -v -trustcacerts -alias myalas1 -file VeriSign.cer -keystore mytrustcerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass 'xxxxxx'

    命令字段说明:

    alias xxx:请修改成自己的别名

    file xxx.cer:指要导入的根证文件,请修改成自己的根证文件名称

    keystore xxx.bks:本地bks证书库文件,修改成自己的证书库文件名称,如果文件不存在,会自动创建

    storepass <pwd>:证书库密码

    例如:

    keytool -importcert -v -trustcacerts -alias jianshu1 -file jianshu_https.cer -keystore mytrustcerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass 'xxxxxx'

    keytool -importcert -v -trustcacerts -alias jianshu2 -file jianshu_https.cer -keystore mytrustcerts.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass 'xxxxxx'

      2.3.查看bks证书库列表

    keytool -list -rfc -keystore ./mytrustcerts.bks -storepass 'xxxxxx' -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

      2.4.从bks证书库中导出证书

    keytool -exportcert -alias myalas1 -file myalas1.cer -keystore ./mytrustcerts.bks  -storepass 'xxxxxx' -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

      2.5.从bks证书库中删除指定别名证书

    keytool -delete -alias jianshu1 -keystore ./mytrustcerts.bks -storepass 'xxxxxx' -storepass 'xxxxxx' -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

    相关文章

      网友评论

        本文标题:Android开发:多个根证书存入bks库操作

        本文链接:https://www.haomeiwen.com/subject/kfzozdtx.html