我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS)。我配置SoapUI使用代理设置到fiddler(localhost:8888)。在小提琴手中,启用了“解密Https Traffic" Fiddler工具下的选项 - > HTTPS
当我发送请求时,握手成功。以下是请求和响应标头:
请求标题
CONNECT maps.googleapis.com:443 HTTP / 1.1 客户 User-Agent:Apache-HttpClient / 4.1.1(java1.5) 运输 连接:保持活力 主持人:maps.googleapis.com
响应标题
建立HTTP / 1.1 200连接
杂
FiddlerGateway:直接 StartTime:15:45:06.462
运输
连接:关闭
握手后,没有进一步的请求和响应。
没有代理,握手和请求/响应工作正常。
注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,但没有运气。
http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html
答案 0 :(得分:12)
这就是我为我工作的方式(在Windows 7上)。我将Fiddler的根证书添加到JRE的可信证书中。
导出Fiddler根证书。您可以通过转到Tools / HTTPS找到导出按钮。
找到运行SoapUI的JRE的文件cacerts。该文件位于JRE的lib / security下,如果已安装SoapUI,则JRE位于SoapUI的jre文件夹中。 将此文件复制到您有权修改它的位置,这样您就不必摆弄提升cmd进程。
现在使用以下命令将Fiddler根证书添加到cacerts密钥库。
keytool -importcert -file FiddlerRoot.cer -keystore cacerts
工具keytool位于JRE的bin文件夹中。 cacerts密钥库的密码是“changeit”或“changeme”。
作为最后一步,将cacerts文件复制回原来的位置,重新启动SoapUI并享受代理的乐趣!
答案 1 :(得分:5)
关于我成功尝试乔尔答案的一些注释和说明(https://stackoverflow.com/a/22907237/1981358):
在Windows Fiddler 4(4.5.1.0)上,选项位于:工具>小提琴选项...> HTTPS>将根证书导出到桌面
我认为我必须以管理员身份运行CMD才能修改cacerts文件
更改为SoapUI JRE中的安全目录。对我来说这是:C:\ Program Files(x86)\ SmartBear \ SoapUI-5.0.0 \ jre \ lib \ security
我使用此命令更新cacerts文件:
..\..\bin\keytool.exe -importcert -file C:\Users\MyUserName\Desktop\FiddlerRoot.cer -keystore cacerts
出现提示时,请输入changeit
(重要:确认您实际上正在更新cacerts文件。我首先尝试从另一个文件夹创建一个新文件。如果它要求输入密码两次,您可能会创建一个新文件。)
Trust this certificate? [no]: yes
Certificate was added to keystore
成功时(上面的消息),检查cacerts文件是否实际更改了。
启动SoapUI并再次尝试请求。