创建keystore相关资料
实践代码
封装了个函数, 方便构造出一个Connector
ServerConnector buildSslConnector(Server server, int securePort, String keyStorePath, String keyStorePassword, String keyManagerPassword) {
HttpConfiguration https_config = new HttpConfiguration();
https_config.setSecureScheme("https");
https_config.setSecurePort(securePort);
https_config.addCustomizer(new SecureRequestCustomizer());
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStorePath(keyStorePath);
sslContextFactory.setKeyStorePassword(keyStorePassword);
sslContextFactory.setKeyManagerPassword(keyManagerPassword);
ServerConnector httpsConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory, "http/1.1"), new HttpConnectionFactory(https_config));
httpsConnector.setPort(securePort);
return httpsConnector;
}
服务器启动代码
Server httpServer = new Server();
ServerConnector sslConnector = buildSslConnector(httpServer, 端口,
keystore文件,
keystore密码,
证书密码);
httpServer.addConnector(sslConnector);
//加入web app
try {
httpServer.start();
httpServer.join();
} catch (Exception e) {
e.printStackTrace();
}
需要注意的是, 证书的被颁发者要和域名一致, 且手动添加到可信证书中, 否则浏览器不认
本文介绍如何使用Jetty9创建嵌入式HTTPS服务器。通过Java Keytool管理和配置keystore,实现SSL连接器的构建,并提供了实践代码示例。特别强调了确保证书与域名匹配并被浏览器信任的重要性。

1047

被折叠的 条评论
为什么被折叠?



