我有一个客户端,它通过指定TLS 1.2发送握手请求到维基,但维基用TLS 1.0版回复。我如何让维基使用1.2版
你曾经发现如何使WireMock使用TLS 1.2吗?
编辑:要设置只支持TLS 1.2
的WireMock,您必须实现您自己的HttpServerFactory
,它构建您自定义的HttpServer
的实例。WireMock设置如下:
WireMockServer server = new WireMockServer(
WireMockConfiguration.options()
.httpServerFactory(new CustomHttpServerFactory())
.dynamicHttpsPort()
.dynamicPort());
原始:我发现标准的WireMock实现使用JettyHttpServerFactory
,它查找以下类:com.github.tomakehurst.wiremock.jetty94. Jetty94HttpServer
和com.github.tomakehurst.wiremock.jetty92. Jetty92HttpServer
。如果找到其中一个,它将创建该类的实例。
Jetty94HttpStarter
的优先级高于Jetty92HttpStarter
。
我的解决方案是创建Jetty92HttpServer
的副本,并将其放在我的项目中的com.github.tomakehurst.wiremock.jetty92
包中。
package com.github.tomakehurst.wiremock.jetty92;
import com.github.tomakehurst.wiremock.core.Options;
import com.github.tomakehurst.wiremock.http.AdminRequestHandler;
import com.github.tomakehurst.wiremock.http.StubRequestHandler;
import com.github.tomakehurst.wiremock.jetty9.JettyHttpServer;
import com.github.tomakehurst.wiremock.servlet.MultipartRequestConfigurer;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Jetty92HttpServer extends JettyHttpServer {
private final Logger logger = LoggerFactory.getLogger(JettyStarter.class);
public Jetty92HttpServer(final Options options, final AdminRequestHandler adminRequestHandler, final StubRequestHandler stubRequestHandler) {
super(options, adminRequestHandler, stubRequestHandler);
}
@Override
public SslContextFactory buildSslContextFactory() {
logger.debug("Creates CustomizedSslContextFactory");
final SslContextFactory factory = new CustomizedSslContextFactory();
logger.debug("Exclude protocols TLS, TLSv1 and TLSv1.1");
factory.addExcludeProtocols("TLS", "TLSv1", "TLSv1.1");
logger.debug("Set protocol=TLSv1.2");
factory.setProtocol("TLSv1.2");
return factory;
}
@Override
public MultipartRequestConfigurer buildMultipartRequestConfigurer() {
return new Jetty92MultipartRequestConfigurer();
}
}
我知道这适用于Java7,也适用于Java8。然而,我不确定它是否适用于Java9及以上版本,但我认为它应该像预期的那样工作。
我推荐以下文章,因为它们包含一些帮助我的链接:
我没有指定任何GC,我认为我的JVM默认情况下没有启用任何GC。 当然,我知道 OpenJDK8 默认使用并行GC,但我认为它应该可以通过命令行打印,如下所示: < code > Java-XX:print flags final | grep Use | grep GC 我期望输出包含< code > bool UseParallelOldGC = true { product } ,但它不是:
我以为是:
如果我记得Jasmine中有一个命令可以记录我运行到控制台的Jasmine的确切版本,但我不记得它是什么了。我肯定我以前在某个地方见过这个,现在我真的需要它,我在任何地方都找不到它。有人知道它是什么吗? 编辑:使用< code>jasmine.getEnv()发布的解决方案。versionString()不工作——对于阅读本文的任何mods来说,修复该问题是作为一个新问题开始还是在此继续更好?
问题内容: 无论是从Ipython会话内部还是从脚本内部进行交互,您如何确定matplotlib正在使用哪个后端? 问题答案: 使用该函数获取一个字符串,该字符串表示正在使用哪个后端:
问题内容: 我需要确定Ubuntu上安装了哪个版本的GTK + 男人似乎没有帮助 问题答案: 该建议将告诉您安装了哪个次要版本2.0。不同的主要版本将具有不同的程序包名称,因为它们可以共存于系统上(以支持使用旧版本构建的应用程序)。 即使对于通常只允许您在系统上使用一个版本的开发文件,也可以在同一系统上使用gtk 1.x版本和gtk 2.0版本(include文件位于名为gtk-1.2或gtk-2
有选项可以在weblogic服务器上指定TLS或SSL 我无法访问web或app server配置,但我希望确定通过HTTPS连接到web服务器[nginx,apache http webserver]或appserver[weblogic]是否使用SSL或TLS,以及使用哪个版本。 如果