根据Bouncy Castle文档,KeyStore
有三种实现:
Bouncy Castle包有三个密钥库实现。
第一个“BKS”是一个密钥库,可以使用密钥工具 与Sun“JKS”密钥库一样的时尚。密钥库是阻止的 篡改但不检查。
>第二个,Keystore.BouncyCastle或Keystore.UBER只能工作 如果在命令行上提供了密码,则使用keytool 整个密钥库使用基于SHA1和Twofish的PBE加密。 PBEWithSHAAndTwofish-CBC。这使得整个密钥库能够抵抗 篡改和检查,以及部队核查。 Sun JDK 如果没有密码,keytool将尝试加载密钥库 给出,这个版本是不可能的。 (人们可能想知道 遇到所有这些麻烦,然后在命令上输入密码 线!新的keytool任何人?)。
在第一种情况下,密钥使用3-Key-TripleDES加密。
第三个是PKCS12兼容密钥库。 PKCS12略有提供 从常规密钥库,密钥库密码的不同情况 是目前唯一用于存储密钥的密码。否则它 支持与其一起使用所需的所有功能 密钥工具。在某些情况下,其他图书馆总是希望如此 处理Sun证书,如果是这种情况使用PKCS12-DEF,和 密钥库生成的证书将使用 默认提供者。在默认情况下,PKCS12使用3DES作为密钥 保护和40位RC2保护证书。也是 可以通过使用PKCS12-3DES-3DES或两者来使用3DES PKCS12-DEF-3DES-3DES作为KeyStore类型。
我无法在互联网上找到任何有趣的信息,似乎没有人使用它。
可以在Android上使用Keystore.BouncyCastle或Keystore.UBER吗?如何获得实例? KeyStore.getInstance("UBER","BC");
?它适用于所有Android版本吗?
答案 0 :(得分:3)
是的,可以使用,获取实例:
KeyStore.getInstance("UBER", "SC");
在普通的java代码中,它应该是“BC”(BouncyCastle)提供程序,但是在Android上使用了SpongyCastle,所以我们需要在这里放置“SC”。