当我使用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");
答案 0 :(得分:2)
好的,我自己想出来了:
创建JKS:
keytool.exe -genkeypair -keystore server.jks
加载它:
sslContextFactory.setKeyStorePath("./resources/server.jks");