Android从keyStore获取SecretKey条目返回null

时间:2018-12-08 22:37:08

标签: android keystore android-keystore secret-key

从密钥库获取密钥:

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?

0 个答案:

没有答案