从密钥库获取密钥:
KeyStore keystore = KeyStore.getInstance("PKCS12");
InputStrem is = this.getClass().getResourceAsStream("/my-keystore");
keystore.load(is, password);
KeyStore.PasswordProtection passwordProtection = new KeyStore.PasswordProtection(new byte[]{1,2,3,4,5,6});
KeyStore.SecretKeyEntry secretKeyEntry = (KeyStore.SecretKeyEntry) keyStore.getEntry("alias", passwordProtection);
这在Java SE中工作正常。但对于android,返回的secretKeyEntry为null。如何为Android修复此问题?在API级别28中进行了测试。
密钥库是使用keytool创建的,秘密密钥是使用Java SE JVM以编程方式添加的。
在android中,列出密钥库别名不包含密钥的别名。
在Java和keytool中,列出密钥库别名包含一个秘密密钥。
Enumeration<String> aliases = keyStore.aliases();
是否可以将PKCS12转换为AndroidKeyStore?