2016-04-14 3 views
1

У меня есть файл ключей с ключами AES 256, и я бы хотел его увеличить. У меня есть следующий код:Append Entry To KeystoreFile

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. Есть идеи? Можно ли увеличивать ключи в существующем файле хранилища ключей?

ответ

0

Я нашел решение! Когда я создал outputStream, который я создал с помощью стандартного методаOpenOption.APPEND. Я изменился на StandardOpenOption.TRUNCATE_EXISTING, и это работает!

Спасибо!

0
  1. Существует нет концепции увеличения размера ключа на существующий ключ. Если вам нужен Ключ разного размера, вам нужно создать другой Ключ.

  2. Когда вы храните новый ключ, вы можете ссылаться на другой файл в вашем потоке вывода, который может быть причиной того, что он не добавляется в существующий KeyStore.

+0

Мой выходной поток ссылается на тот же файл, который был загружен в inputStream –

+0

Если 'entryName' то же самое, он должен переопределять существующий ключ. Попробуйте указать другое имя псевдонима. –