2

私はJavaKeyStoreを使用してユーザーの安全な情報を保存し、キーストアをパスワードでロック(暗号化)し、必要に応じてパスワードで情報を取得していますが、これは正常に機能しています。

しかし、同じkeyStoreファイルのパスワードを変更する方法がわかりません

KeyStore.load(InputStream,Password)ユーザーパスワードでキーストアにアクセスしkeyStore.store(Keystore,password)、値をキーストアに書き込む方法を使用しています。

keyStore ファイルのパスワードを変更する方法はありますか。ここにある API ドキュメントを確認しました: http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html

4

1 に答える 1

5

@Danail Alexiev に感謝しKeyStoreます。古いパスワードをロードし、同じ keyStoreStream を新しいパスワードで上書きすると、キーストアのパスワードが変更されます (キーストアのコンテンツを新しいパスワードで暗号化します)。

ここにreffrenceのコードがあります:

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 ( );
于 2016-02-22T19:11:12.220 に答える