5
關鍵密鑰庫
我使用密鑰庫來保護我的私人密鑰,但線的時候:存儲在Android中使用
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
執行我有這樣的例外:
'java.lang.NullPointerException'.
我不明白的地方是問題。
代碼:
private Context ctx;
public DataSec(Context ctx)
{
ctx = this.ctx;
}
public void genKey() throws Exception
{
SecretKey key = KeyGenerator.getInstance("AES").generateKey();
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null, "clavedekey".toCharArray());
PasswordProtection pass = new PasswordProtection("fedsgjk".toCharArray());
KeyStore.SecretKeyEntry skEntry = new KeyStore.SecretKeyEntry(key);
ks.setEntry("secretKeyAlias", skEntry, pass);
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
ks.store(fos, "clavedekey".toCharArray());
fos.close();
}
感謝您的幫助!
我在這個問題上失去了一個多小時。我真的覺得很傻。謝謝! – gzanitti 2013-02-20 16:01:57
這就是爲什麼你應該在方法參數上使用final關鍵字。 – 2014-03-31 14:17:33
hello Raghav我們如何才能知道我們的鑰匙是否已被保存,這意味着有什麼方法可以從鑰匙庫中取回鑰匙。 – 2014-06-13 12:09:58