gza*_*tti 5 java android exception keystore fileoutputstream
我正在使用KeyStore来保护我的私钥,但是当行:
FileOutputStream fos = ctx.openFileOutput("bs.keystore", Context.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)
执行我有这个例外:
'java.lang.NullPointerException'.
Run Code Online (Sandbox Code Playgroud)
我不明白问题出在哪里.
码:
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();
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
改变:
public DataSec(Context ctx)
{
ctx = this.ctx;
}
Run Code Online (Sandbox Code Playgroud)
到
public DataSec(Context ctx)
{
this.ctx = ctx;
}
Run Code Online (Sandbox Code Playgroud)
现在,您将方法中的上下文参数分配给与全局参数相同的值,即 null。因此,您的上下文实际上并未被存储。
| 归档时间: |
|
| 查看次数: |
4300 次 |
| 最近记录: |