将条目附加到 KeystoreFile

Append Entry To KeystoreFile

我有一个包含 AES 256 密钥的密钥库文件,我想增加它。我有以下代码:

final KeyStore ks = KeyStore.getInstance(KEY_STORE_TYPE);
ks.load(inputStream, ksPassword);
ks.setEntry(entryName, new KeyStore.SecretKeyEntry(appKey), entryPassword);
ks.store(new FileOutputStream(outputStream, true));

但是当我调用存储方法时,新的密钥条目没有存储在我的 outputStream 引用的现有文件中。有任何想法吗?是否可以在现有密钥库文件上增加密钥?

  1. 没有在现有密钥上增加密钥大小的概念。如果你想要一个不同大小的Key,你必须创建一个不同的Key。

  2. 当您存储新密钥时,您可能会在输出流中引用不同的文件,这可能是它未添加到现有密钥库的原因。

我找到了解决办法! 当我创建我使用 StandardOpenOption.APPEND 创建的 outputStream 时。我更改为 StandardOpenOption.TRUNCATE_EXISTING 并且有效!

谢谢!