我在SoapUI中创建了一个REST项目来测试googlemapsapi休息服务(HTTPS) . 我将SoapUI配置为使用代理设置来设置fiddler(localhost:8888) . 在提琴手中,启用了Fiddler Tools - > Https下的“Decrypt Https Traffic”选项
当我发送请求时,握手成功 . 以下是请求和响应标头:
Request Headers
CONNECT maps.googleapis.com:443 HTTP / 1.1客户端用户代理:Apache-HttpClient / 4.1.1(java1.5)传输连接:Keep-Alive Host:maps.googleapis.com
Response Headers
Build HTTP / 1.1 200连接
Miscellaneous
FiddlerGateway:直接开始时间:15:45:06.462
Transport
连接:关闭
握手后,没有进一步的请求和响应 .
没有代理,握手和请求/响应工作正常 .
注意:我按照以下链接将证书添加到SoapUI证书断言和密钥存储区,没有运气 .
http://qatesterblog.blogspot.com/2013/10/how-to-make-soapui-ssl-compatible.html
2 回答
这就是我为我工作的方式(在Windows 7上) . 我将Fiddler的根证书添加到JRE的可信证书中 .
导出Fiddler根证书 . 您可以通过转到Tools / HTTPS找到导出按钮 .
找到运行SoapUI的JRE的文件cacerts . 该文件位于JRE的lib / security下,如果已安装SoapUI,则JRE位于SoapUI的jre文件夹中 . 将此文件复制到您有权修改它的位置,这样您就不必摆弄提升cmd进程 .
现在使用以下命令将Fiddler根证书添加到cacerts密钥库 .
工具keytool位于JRE的bin文件夹中 . cacerts密钥库的密码是“changeit”或“changeme” .
最后一步将cacerts文件复制回原始位置,重新启动SoapUI并享受代理的乐趣!
关于我成功尝试乔尔答案的一些注释和澄清(https://stackoverflow.com/a/22907237/1981358):
在Windows Fiddler 4(4.5.1.0)上,该选项位于:工具> Fiddler选项...> 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并再次尝试请求 .