在运行时在 Jetty 中设置 ssl 密钥库

2022-09-04 04:16:11

是否可以在运行时更改密钥库?目前,我正在设置SSL之前,我正在做一个服务器.start() -

sslContextFactory.setTrustStore(ks);
sslContextFactory.setTrustStorePassword(TRUSTSTORE_PASS);
sslContextFactory.setKeyStorePassword(KEYSTORE_PASS); 
ServerConnector https = new ServerConnector(server, sslContextFactory);

server.start()

我想做的是在运行时创建一个证书并使用它。基本上,我正在创建一个像Fiddler这样的工具,它可以动态创建证书。


答案 1

自 Jetty 9.4.0 以来,此问题已得到修复,请参阅 https://github.com/eclipse/jetty.project/issues/918。现在,您只需覆盖密钥/信任库等,然后调用 。SslContextFactory.reload

但请注意,TLS 会话恢复有一个警告:https://github.com/eclipse/jetty.project/issues/918#issuecomment-250791417。根据评论,这应该不是常见浏览器的问题,但谁知道IE,移动,非浏览器客户端等。


答案 2

在Jetty邮件列表中发布此问题后,我得到的回应是它不是真的可行