配置Jetty HTTP / 2客户端以使用我的HostnameVerifier实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置Jetty HTTP / 2客户端以使用我的HostnameVerifier实现相关的知识,希望对你有一定的参考价值。

我使用Jetty HTTP2 Client 9.4.12来支持HTTP / 2服务器连接。它工作正常但除了验证证书之外,我还想使用我的javax.net.ssl.HostnameVerifier实现来验证主机名。根据doc https://www.eclipse.org/jetty/javadoc/9.4.12.v20180830/org/eclipse/jetty/util/ssl/SslContextFactory.html,我可以使用setEndpointIdentificationAlgorithm("HTTPS")来启用主机名验证,但是如何配置Jetty以使用我的实现呢?

谢谢。

答案

Jetty的HttpClient不支持javax.net.ssl.HostnameVerifier

此处存在增强请求...

https://github.com/eclipse/jetty.project/issues/3154

请随意评论请求它的开放增强功能,并提供一个如何使用它的示例。

另一答案

Jetty v9.4.15.v20190215中添加了支持。

final SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setHostnameVerifier((hostname, sslSession) -> {
    // logic to verify hostname
    return false;
});

以上是关于配置Jetty HTTP / 2客户端以使用我的HostnameVerifier实现的主要内容,如果未能解决你的问题,请参考以下文章

Embedded Jetty - 禁用外部 URL 的 URL 重写

CentOS 7.X部署Jetty

Jetty 9.2.x Websocket Server连接在使用Firefox而不是Chrome时连接后自动关闭

Jetty简介

Jetty v8.x - 如何为HTTPS配置/启用SSL以及创建Windows服务的步骤

如何配置嵌入式Jetty以使用LdapLoginModule?