2016-04-14 7 views
1

私はAES 256キーを持つキーストアファイルを持っています。私はそれを増やしたいと思います。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を作成したときに、StandardOpenOption.APPENDを使用して作成しました。私はStandardOpenOption.TRUNCATE_EXISTINGに変更しました。

ありがとうございます!

0
  1. 既存のキーのキーサイズを大きくするという概念はありません。異なるサイズのキーが必要な場合は、別のキーを作成する必要があります。

  2. 新しいキーを保存しているときに、出力ストリーム内の別のファイルを参照している可能性があります。これは、既存のKeyStoreに追加されていない可能性があります。

+0

私の出力ストリームは、inputStreamにロードされたファイルと同じファイルになります。 –

+0

'entryName'が同じ場合は、既存のキーを上書きする必要があります。異なるエイリアス名を付けてみてください。 –

関連する問題