java - 您如何配置 Apache httpcore5 java HttpAsyncServer 以在其监听端口上使用 TLS?

标签 java ssl https

当使用 apache httpcore5 java 库实现 HTTP 服务器时,我找不到合适的习惯用法来装配套接字以使用 TLS。

在较旧的 httpcore 版本 4.x 下我可以

KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(keystoreStream, keystorePassword.toCharArray());

KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, keyPassword.toCharArray());

SSLContext sc = SSLContext.getInstance("TLSv1.2");
sc. init(kmf.getKeyManagers(), null, new SecureRandom());
ServerSocket sSock = sc.getServerSocketFactory().createServerSocket(port);

然后接受来自该服务器套接字的连接,并在循环中将这些套接字bind() 连接到DefaultHttpServerConnectionhandleRequest()

我还没有找到如何使用 httpcore5 框架编写支持 TLS 的服务器的示例。

最佳答案

经过一番翻找,我找到了 H2ServerBootstrap.setTlsStrategy() 并像这样使用它:

SSLContext ctx = buildAppSSLContext();
bootstrap.setTlsStrategy(new BasicServerTlsStrategy(ctx, new FixedPortStrategy(new int[]{port})));

关于java - 您如何配置 Apache httpcore5 java HttpAsyncServer 以在其监听端口上使用 TLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51065484/

相关文章:

java - 动态编译不创建物理文件

ssl - Wamp2 和 "The ordinal 942 could not be located in the dynamic link library LIBEAY.dll"

Wordpress 在 docker 容器中使用 ssl 位于 nginx 代理后面

php - socket.io 中的 app.post ('/posts' 带有 https

python - 在 tox 环境中为 pip install 命令设置 https 代理

java - 使用 Vaadin 进行 Web 应用程序开发的最佳方法是什么?

java - 'ZipException : invalid code lengths set' when streaming input file to Apache-POI

java - log4j的配置

android - 从 Android 到自定义套接字服务器的 SSL/TLS 连接

performance - Java TLS 最大记录大小