按照以下步骤设置带自签名证书的SoapUI模拟服务没有问题
http://www.soapui.org/Service-Mocking/securing-mockservices-with-ssl.html .
但现在我想通过Entrust Certification Authority - L1C的“真实”证书问题来测试模拟服务 .
该证书的其他信息是
-
确保远程计算机的身份
-
1.2.840.113533.7.75.2
-
2.23.140.1.2.2
有效期至2016年 .
我使用该命令将证书导入server.keystore .
c:\Program Files\Java\jre6\bin\keytool.exe -import -alias server -keystore server.keystore -storepass mypasss -file server_cer_issued_by_entrust.cer
(如果我用自签名(创建)证书替换 server_cer_issued_by_entrust.cer
它可以工作)
我在SoapUI中遇到了ssh握手错误的错误 .
我只是意识到它可能不可能,因为模拟服务是 127.0.0.1
但实际的证书是"mydomain.com"等网络服务的问题,是吗?
1 回答
SOAPUI
在java
上运行,当java
连接到SSL
时,url执行两次验证:验证服务器证书是否可信 .
验证服务器证书的主题可分辨名称中的公用名是否与域匹配 .
我假设第一个验证通过,因为在您提供的链接指令中,它为模拟服务指定了相同的密钥库:密钥库和信任库,并且由于服务器证书在此导入,因此传递此验证没有问题 .
所以可能正如你所说的问题是你的模拟服务在
127.0.0.1
上,并且你的证书被发布用于mydomain.com
.一个可能的解决方法是禁用
SSL
验证,但这没有任何意义,因为正如您在问题中所说,您想要使用"real"证书测试服务,而是您可以尝试编辑host
文件并为证书服务器添加127.0.0.1
ip地址的映射域,在您的情况下:然后将模拟服务的SOAPUI endpoints 更改为
https://mydomain.com
.希望这可以帮助,