一 证书类型简介:
1.JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。
JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeyStore中的私钥上(使用TripleDES)
2.PKCS#12(PFX)是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。
3.BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互操作。
上面的jks pkcs bks 都是证书库,包含证书,私钥,证书里面是公钥的加密。bks是android客户端设定的证书库类型
证书库中可以存在多个证书,用别名alias 来区分各个证书。
证书的格式以及相关知识可查看,人家写的比我好
https://blog.csdn.net/qq_37049781/article/details/84837342
后面看到crt文件 是证书。
二、keytool工具说明
https://www.cnblogs.com/f1194361820/p/4266511.html
三、操作 bks文件的java环境变量配置
1 下载 bcprov-ext-jdk15on-146.jar (根据java版本选择)
https://mvnrepository.com/search?q=bcprov-ext-jdk
2 配置bcprov
在 jdk_home\jre\lib\security\目录中找到 java.security 在内容增加一行(数字可以自己定义)security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider