美文网首页
keytool查看\导出BKS格式证书

keytool查看\导出BKS格式证书

作者: kikoroc | 来源:发表于2023-12-10 17:03 被阅读0次

    名词解释

    keytool: Key and Certificate Management Tool证书和密钥管理工具,是JDK自带的工具,一般安装JDK后就可以使用;
    BKS: bks证书是Android平台上的证书格式,用于存储公钥、私钥以及相关的密码和信息。 bks证书通常用于Android应用程序开发中,用于加密通信、数字签名等安全功能。 bks证书的格式是二进制格式,不同于p12证书的基于ASN.1编码的格式。一般来说,我们使用jdk的keytool只能生成jks的证书库,如果生成bks的则需要下载BouncyCastle库。

    查看BKS证书条目

    keytool -list  -keystore /path/to/bksfile -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass {passwd}
    
    密钥库类型: BKS
    密钥库提供方: BC
    
    您的密钥库包含 4 个条目
    
    GeoTrust, 2021-3-17, trustedCertEntry,
    证书指纹 (SHA-256): 23:DD:F0:8B:22:37:3D:86:15:8E:xxxx
    self-intermedia, 2021-3-17, trustedCertEntry,
    证书指纹 (SHA-256): 43:A7:4B:5C:55:EA:95:26:A5:xxxx
    self-root, 2021-3-17, trustedCertEntry,
    证书指纹 (SHA-256): 3B:AD:F4:F8:CA:CB:A2:59:47:2D:xxxx
    DigiCert, 2021-3-17, trustedCertEntry,
    证书指纹 (SHA-256): 43:48:A0:E9:44:4C:78:CB:xxxx
    

    导出证书文件

    keytool -exportcert -keystore /path/to/bksfile -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -storepass {passwd} -alias self-intermedia -file self-intermedia.crt
    存储在文件 <self-intermedia.crt> 中的证书
    
    // 其中`-alias`即list显示的证书代号
    

    crt证书转换pem格式

    openssl x509 -inform der -in self-root.crt -outform pem -out self-root.pem
    

    其他

    keytool报错java.security.KeyStoreException: BKS not found

    正如前面所说,BKS格式需要下载BouncyCastle库支持。
    下载BouncyCastle jar包文件后,复制到jre/lib/ext目录即可。
    官网链接 https://www.bouncycastle.org/latest_releases.html#LATEST
    注意下载对应JDK版本的jar包。

    keytool其他用法

    keytool
    密钥和证书管理工具
    
    命令:
    
     -certreq            生成证书请求
     -changealias        更改条目的别名
     -delete             删除条目
     -exportcert         导出证书
     -genkeypair         生成密钥对
     -genseckey          生成密钥
     -gencert            根据证书请求生成证书
     -importcert         导入证书或证书链
     -importpass         导入口令
     -importkeystore     从其他密钥库导入一个或所有条目
     -keypasswd          更改条目的密钥口令
     -list               列出密钥库中的条目
     -printcert          打印证书内容
     -printcertreq       打印证书请求的内容
     -printcrl           打印 CRL 文件的内容
     -storepasswd        更改密钥库的存储口令
    
    使用 "keytool -command_name -help" 获取 command_name 的用法
    

    相关文章

      网友评论

          本文标题:keytool查看\导出BKS格式证书

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