5
Memorizzazione
Sto usando KeyStore per proteggere la mia chiave privata, ma quando la linea:chiave utilizzando KeyStore in Android
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
viene eseguito ho questa eccezione:
'java.lang.NullPointerException'.
non capisco dove è il problema
Codice:
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();
}
grazie per l'aiuto!
Ho perso più di un'ora in questo problema. Mi sento davvero pazzo. Grazie! – gzanitti
Ecco perché è necessario utilizzare la parola chiave final sui parametri del metodo. –
ciao Raghav come facciamo a sapere che la nostra chiave è stata salvata significa che c'è un modo per ritirare la chiave dal keystore? –