You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在SOAP UI 5.4.0中将TLS版本从1.1改为1.2?

解决SOAP UI 5.4.0强制使用TLS 1.2的问题

我之前在使用SOAP UI 5.4.0时也遇到过完全一样的问题——偏好设置里看不到TLS 1.2选项,加了vm参数后请求还是走TLS 1.1。下面是我亲测有效的解决步骤,你可以逐一排查:

1. 确认修改的是正确的vmoptions文件

很多人会搞错文件位置,SOAP UI的vmoptions文件分版本和系统:

  • Windows:社区版找安装目录下的bin\soapui.vmoptions;专业版则是soapui-pro.vmoptions
  • macOS:右键SOAP UI图标→「显示包内容」→Contents/Resources/soapui.vmoptions
  • Linux:安装目录下的bin/soapui.vmoptions

打开文件后,添加以下完整参数(建议放在文件顶部,避免和其他参数冲突):

-Ddeployment.security.SSLv3=false
-Ddeployment.security.TLSv1=false
-Ddeployment.security.TLSv1.1=false
-Ddeployment.security.TLSv1.2=true
-Dsoapui.https.protocols=TLSv1.2

注意:一定要完全关闭SOAP UI再修改文件,修改后重启软件才会生效。

2. 补充修改启动批处理文件(Windows专属)

如果修改vmoptions后还是没效果,可以试试直接修改启动脚本:
找到SOAP UI安装目录下的bin\soapui.bat,找到set JAVA_OPTS=这一行,替换成:

set JAVA_OPTS=-Ddeployment.security.TLSv1.2=true -Dsoapui.https.protocols=TLSv1.2 -Ddeployment.security.TLSv1.1=false -Ddeployment.security.TLSv1=false

保存后用这个批处理文件启动SOAP UI,而不是双击桌面图标。

3. 检查JDK版本是否达标

SOAP UI 5.4.0自带的JDK可能是JDK7,而JDK7对TLS 1.2的支持不够完善(默认不启用)。你可以通过Help → About SOAPUI查看当前JVM版本:

  • 如果是1.7.x,建议换成JDK8:
    1. 下载并安装JDK8
    2. 在vmoptions文件中添加一行:java.home=你的JDK8安装路径(比如java.home=C:\Program Files\Java\jdk1.8.0_301

4. 验证TLS版本是否生效

你可以通过两种方式确认:

  • 开启SOAP UI的HTTP日志:File → Preferences → HTTP Settings,勾选「Enable HTTP Logging」,发送请求后查看日志,会显示握手时使用的协议版本
  • 用Wireshark抓包,查看HTTPS握手阶段的Client HelloServer Hello包,确认协议是TLS 1.2

内容的提问来源于stack exchange,提问作者Running Rabbit

火山引擎 最新活动