关于android:如何在Java中更改KeyStore文件的密码?

How to change Password of KeyStore File in Java?

我使用Java EDCOX1 0来存储用户的安全信息,并用密码锁定(加密)密钥存储库,并在需要时用密码检索信息,工作正常。

但我不知道如何更改同一个密钥存储文件的密码

我使用KeyStore.load(InputStream,Password)方法访问带有用户密码的密钥库,使用keyStore.store(Keystore,password)方法将值写入密钥库。

有没有办法更改密钥存储文件的密码?我已经检查了以下API文档:http://docs.oracle.com/javase/7/docs/api/java/security/keystore.html


谢谢@danail alexiev它的工作,用旧密码加载KeyStore,用新密码覆盖同一个keystorestream将更改keystore密码(用新密码加密keystore内容)。

以下是reffrence的代码:

1
2
3
4
5
6
InputStream keyStoreStream = ontext.openFileInput ( filename );
KeyStore keyStore = KeyStore.getInstance ( KeyStore.getDefaultType ( ) );
keyStore.load ( keyStoreStream, oldPass );
FileOutputStream fileOutputStream = context.openFileOutput ( filename, Context.MODE_PRIVATE );
keystore.store ( fileOutputStream, newPassword );
fileOutputStream.close ( );