在Jetty中运行时设置ssl keystore

gau*_*nix 12 java ssl jetty certificate ssl-certificate

是否可以在运行时更改密钥库?目前我在设置server.start()之前设置SSL

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

server.start()
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*erg 6

自 Jetty 9.4.0 起此问题已得到修复,请参阅https://github.com/eclipse/jetty.project/issues/918。您现在可以覆盖 Key/TrustStore 等并调用SslContextFactory.reload.

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


gau*_*nix 1

在 Jetty 邮件列表中发布这个问题后,我得到的答复是这不是真的可行吗