Java Android密钥库未保存RSA密钥
我正在使用android密钥库api来存储RSA密钥对 当我在调试模式下运行android时,它显示密钥对和证书字节已存储在密钥库中,但当我重新加载调试器并尝试检索密钥时,密钥库似乎为空 我希望能够通过别名检索密钥。下面的代码显示了如何创建和存储密钥对Java Android密钥库未保存RSA密钥,java,android,rsa,android-keystore,Java,Android,Rsa,Android Keystore,我正在使用android密钥库api来存储RSA密钥对 当我在调试模式下运行android时,它显示密钥对和证书字节已存储在密钥库中,但当我重新加载调试器并尝试检索密钥时,密钥库似乎为空 我希望能够通过别名检索密钥。下面的代码显示了如何创建和存储密钥对 public RSA(char[] password) throws Exception { KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); k
public RSA(char[] password) throws Exception {
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null);
Enumeration<String> aliases = ks.aliases();
if(!aliases.hasMoreElements())
{
mCurrentCertificate = generateCert();
//Store the new keypair
FileInputStream fs = null;
ks.load(fs, password);
KeyStore.ProtectionParameter protParam =
new KeyStore.PasswordProtection(password);
java.security.cert.Certificate[] myCert =
new java.security.cert.Certificate[] { (java.security.cert.Certificate) mCurrentCertificate};
KeyStore.PrivateKeyEntry pkEntry =
new KeyStore.PrivateKeyEntry(mCurrentRSAKeyPair.getPrivate(),
myCert);
ks.setEntry("MyKey2", pkEntry, protParam);
for(int i = 0; i < ks.size(); i++)
{
//MyKey is the previous key stored, MyKey2 is the next one
System.out.println(ks.getCertificate("MyKey"));
}
}
}
公共RSA(字符[]密码)引发异常{
KeyStore ks=KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(空);
枚举别名=ks.alias();
如果(!alias.hasMoreElements())
{
mCurrentCertificate=generateCert();
//存储新的密钥对
FileInputStream fs=null;
ks.load(fs,密码);
KeyStore.ProtectionParameter protParam=
新密钥库。密码保护(密码);
java.security.cert.Certificate[]myCert=
新java.security.cert.Certificate[]{(java.security.cert.Certificate)mCurrentCertificate};
KeyStore.PrivateKeyEntry pkEntry=
新的KeyStore.PrivateKeyEntry(mCurrentRSAKeyPair.getPrivate(),
麦卡特尔);
ks.setEntry(“MyKey2”,pkEntry,protParam);
对于(int i=0;i
使用您的代码,您可以在文件系统中创建密钥库(它缺少ks.store(fileOutputStream,password);
,但有一个特定的API来生成和使用密钥
在此示例中,您可以使用代码生成和加载RSA密钥,您可以在文件系统中创建密钥库(它缺少ks.store(fileOutputStream,password);,但有一个特定的API来生成和使用密钥 在本文中,您有一个生成和加载RSA密钥的示例