【问题标题】:How to change Password of KeyStore File in Java?如何在 Java 中更改 KeyStore 文件的密码?
【发布时间】:2016-06-04 03:55:44
【问题描述】:

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

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

我正在使用KeyStore.load(InputStream,Password) 方法通过用户密码访问密钥库,并使用keyStore.store(Keystore,password) 将值写入密钥库。

有什么办法可以修改keyStore文件的密码。 我已经检查了这里给出的 api 文档: http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html

【问题讨论】:

  • 您是否尝试过使用store(OutputStream, char[]) 方法将您的密钥库重写为相同的文件,但使用不同的密码?
  • 它对我有用,谢谢@DanailAlexiev,我已经在我的答案中发布了代码。

标签: java android keystore android-keystore java-security


【解决方案1】:

感谢@Danail Alexiev 的工作,用旧密码加载KeyStore 并用新密码覆盖相同的keyStoreStream 将更改keyStore 密码(用新密码加密密钥库内容)

这里是引用的代码:

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 ( );

【讨论】:

    猜你喜欢
    • 2011-03-03
    • 2023-02-02
    • 1970-01-01
    • 2019-11-01
    • 2011-04-09
    • 2018-06-14
    • 2014-12-05
    • 1970-01-01
    • 2015-06-15
    相关资源
    最近更新 更多