5
Używam KeyStore aby chronić swój klucz prywatny, ale gdy linia:Przechowywanie klucza przy użyciu KeyStore w Androidzie
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
jest wykonywany mam ten wyjątek:
'java.lang.NullPointerException'.
nie rozumiem gdzie to jest problem.
Kod:
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();
}
Dzięki za pomoc!
W tym problemie straciłem ponad godzinę. Naprawdę czuję się bardzo głupio. Dzięki! – gzanitti
Dlatego należy używać ostatecznego słowa kluczowego na temat parametrów metody. –
hello Raghav Skąd wiemy, że nasz klucz jest zapisany oznacza, czy istnieje sposób na odzyskanie klucza z magazynu kluczy? –