Ssl 我想用JMeter来模拟TLS握手过程

Ssl 我想用JMeter来模拟TLS握手过程,ssl,jmeter,tls1.2,Ssl,Jmeter,Tls1.2,我想修改TLS握手过程中的每个步骤,以测试我的TLS服务器是否符合规范。 例如,我想使用JMeter模拟TLS的第一个“client_hello”请求,我可以在JMeter中自定义TLS协议中的参数内容。例如,我可以将“version”值设置为“aaabbb”,并故意使协商失败。 有什么好主意吗? 根据JMeter用户手册的章节 JMeter HTTP采样器配置为接受所有证书,无论是否可信,无论有效期等。这是为了在测试服务器时提供最大的灵活性 因此,如果需要验证,则需要使用手动编写连接逻辑脚本,

我想修改TLS握手过程中的每个步骤,以测试我的TLS服务器是否符合规范。 例如,我想使用JMeter模拟TLS的第一个“client_hello”请求,我可以在JMeter中自定义TLS协议中的参数内容。例如,我可以将“version”值设置为“aaabbb”,并故意使协商失败。 有什么好主意吗?

根据JMeter用户手册的章节

JMeter HTTP采样器配置为接受所有证书,无论是否可信,无论有效期等。这是为了在测试服务器时提供最大的灵活性

因此,如果需要验证,则需要使用手动编写连接逻辑脚本,包括低级传输设置

示例代码:

def sslContext = org.apache.http.conn.ssl.SSLContexts.custom().useTLS().build()

String [] protocols = ['aaabbb']

def f = new org.apache.http.conn.ssl.SSLConnectionSocketFactory(sslContext, protocols, null, org.apache.http.conn.ssl.SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER)

def client = org.apache.http.impl.client.HttpClients.custom().setSSLSocketFactory(f).build();

def get = new org.apache.http.client.methods.HttpGet('https://example.com')

client.execute(get)
演示:


请查看此线程,它可能与您的案例有关: