如何使用java keytool为jetty创建/加载jks文件?

时间:2017-03-01 12:16:05

标签: java ssl https jetty keytool

当我使用ssl连接器设置jetty时,我注意到我需要设置一个keystore路径。

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

所以我尝试用javas keytool创建一个keystore.jks文件。使用这样的命令:

keytool -keystore clientkeystore -genkey -alias client

但不知怎的,我从未尝试过.jks文件。

有人可以帮我生成这个jks文件吗?

或者是否有替代解决方案为没有.jks文件的jetty设置ssl?

更新:

我能够生成一个jks文件,但现在的问题是如何加载它?

到目前为止我的代码:

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 个答案:

答案 0 :(得分:2)

好的,我自己想出来了:

创建JKS:

keytool.exe -genkeypair -keystore server.jks

加载它:

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