我们正在运行一个JMeter脚本,该脚本将json数据发布到内部https端点。但是,在运行脚本时,我们会间歇性地获取javax.net.ssl.SSLHandshakeException(大约100次调用中的3次)。
这个问题与以下SO问题非常相似,但是那里讨论的所有解决方案都不适合我: javax.net.ssl.SSLHandshakeException:将JMeter与SSL(JDK8)结合使用时,handshake_failure
我正在使用JDK8和最新的JMeter 4.0版。我打开了ssl调试功能,并从ClientHello和ServerHello消息中打开,看起来服务器支持TLS 1.2和JMeter也支持的TLS_RSA_WITH_AES_128_CBC_SHA密码套件。
但是我在SSL日志中看到以下针对失败的JMeter请求的信息:
写:TLSv1.2握手,长度= 64
读取:TLSv1.2警报,长度= 2
RECV TLSv1.2警报:致命,handshake_failure
%%无效:[Session-17,TLS_RSA_WITH_AES_128_CBC_SHA]
我尝试了以下解决方案:
1.在jre cacerts中添加了服务器证书
2.下载了不受支持的密码的本地策略jar,并将其复制到jre lib安全文件夹中
。3.为JMeter更新了httpclient jar(4.5)
。4.在JMeter配置中明确启用了TLS 1.2
我使用TestSSLServer来测试服务器的SSL功能,这就是它的返回结果:
SSLv3:
服务器选择:强制执行服务器首选项
3-(键:RSA)RSA_WITH_RC4_128_SHA 3-
(键:RSA)RSA_WITH_AES_128_CBC_SHA 3-
(键:RSA) )RSA_WITH_AES_256_CBC_SHA
3--(标号:RSA)RSA_WITH_3DES_EDE_CBC_SHA
TLSv1.0:同上
TLSv1.2工作:
服务器的选择:执行服务器偏好
3--(标号:RSA)RSA_WITH_RC4_128_SHA
3--(标号:RSA)RSA_WITH_AES_128_CBC_SHA
3--(标号: RSA)RSA_WITH_AES_256_CBC_SHA 3--
(密钥:RSA)RSA_WITH_3DES_EDE_CBC_SHA 3--
(密钥:RSA)RSA_WITH_AES_128_CBC_SHA256
3--(键:RSA)RSA_WITH_AES_256_CBC_SHA256
关于可能出了什么问题的任何想法?
白板的微信
相关分类