プログラムで作成するアプリケーションがありKeyStore
ます。次の方法で作成しKeyStore
ます (サンプル コード、簡潔にするために例外処理を省略します)。
KeyStore ks = KeyStore.getInstance( "JKS" );
ks.load( null, null );
... // Add crypto material here
keystore.store( new FileOutputStream( "keystore.ks" ), "password" );
メソッドstore(OutputStream stream, char[] password)
は次の例外をスローします。
java.lang.NullPointerException
at sun.security.provider.JavaKeyStore.engineStore(Unknown Source)
at sun.security.provider.JavaKeyStore$JKS.engineStore(Unknown Source)
at java.security.KeyStore.store(Unknown Source)
keystore.ks
ファイルはファイル システムに作成されます。しかし、それを検査しようとするとkeytool
、
keytool -list -keystore nms.keystore
keytool error: java.io.EOFException
面白いことに、テストした他のすべてのマシンで同じコードが完全に機能します。store
実際のコードでは、メソッドに渡される引数はどれも ではありませんnull
。それをトリプルチェックしました。
不正行為を行ったマシンに関するいくつかの詳細、
- CentOS 5.8 32 ビット
- Sun の JRE 1.6.0_43