2017-03-01 11 views
0

私はsslコネクタでjettyを設定していましたが、キーストアパスを設定する必要があることに気付きました。howtyはjettyのjava keytoolを使用してjksファイルを作成/ロードしますか?

sslContextFactory.setKeyStorePath(EmbeddedServer.class.getResource("/keystore.jks").toExternalForm()); 

私はjavas keytoolを使用してkeystore.jksファイルを作成しようとしました。

keytool -keystore clientkeystore -genkey -alias client 

しかし、何とか私は決して.jksファイルを使用しません。

誰かがこのjksファイルを生成するのを手助けできますか?

また、.jksファイルを使用せずにjetty用にsslを設定する別の解決法がありますか?

UPDATE:

私は、JKSファイルを生成することができましたが、今の質問はどのように私はそれをロードしますでしょうか?これまで

マイコード:[OK]を、私は私自身のことで、これを考え出し

Server server = new Server(); 
ServerConnector connector = new ServerConnector(server); 
connector.setPort(9999); 

HttpConfiguration https = new HttpConfiguration(); 
https.addCustomizer(new SecureRequestCustomizer()); 


SslContextFactory sslContextFactory = new SslContextFactory(); 
sslContextFactory.setKeyStorePath("./resources/server.jks"); 

sslContextFactory.setKeyStorePassword("123456"); 
sslContextFactory.setKeyManagerPassword("123456"); 
+1

JKSスタンドJavaキーストア用。 Jetty固有のことではありません.SSL/TLSを使用するJavaサーバーまたはクライアントで作業する場合、JKS形式のキーストアファイルが必要です。 –

答えて

1

作成JKS:

keytool.exe -genkeypair -keystore server.jks 

負荷それ:

sslContextFactory.setKeyStorePath("./resources/server.jks"); 
+0

'keytool ... -alias client'を使いたいなら' sslContextFactory.setAlias( "client"); 'も必要です。 –

関連する問題