5

キーストアから情報を取得するために KeyStore を使用しようとしています。次のコマンドを使用してキーストアを生成しました。

keytool -genkey -alias server -keyalg RSA -keystore server.keystore -validity 365このページを取った。

その情報keytool -list -v -keystore server.keystoreを確認すると、次のようになります。

エイリアス名: サーバー
作成日: 2014 年 4 月 30 日
エントリの種類: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
(その他の情報はこちら)

このコマンドを使用すると、次のkeytool -list -keystore server.keystore -alias serverようになります。

サーバー、2014 年 4 月 30 日、PrivateKeyEntry、証明書の指紋 (SHA1): 28:65:5B:0C:B3:3C:C9:AA:F1:7C:CE:91:23:77:DD:0D:F8:54 :70:B9

今、私のJavaコード:

keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(getClass().getResourceAsStream(KEYSTORE_FILE_PATH), "myPass".toCharArray());
keyStore.getCertificate("server").getPublicKey().getEncoded(); //here I get a null pointer exception - keystore.getCertificate("server") returns null. 

実行すると、 EmptyEnumerationkeyStore.aliases()が返されます。

アプリケーションはmaven、Java ee 7を使用しており、キーストアファイルをアプリケーションのリソースフォルダーにコピーしました。KEYSTORE_FILE_PATH の値は「/server.keystore」です。

ありがとう。

4

1 に答える 1