如何使用非自签名证书X509为SSL配置SoapUI模拟服务

时间:2014-10-20 14:36:31

标签: ssl certificate soapui

按照

中的步骤,使用自签名证书设置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 个答案:

答案 0 :(得分:0)

SOAPUIjava上运行,当java连接到SSL时,网址会执行两次验证:

  1. 验证服务器证书是否可信。
  2. 验证服务器证书的主题可分辨名称中的公用名是否与域匹配。
  3. 我假设第一次验证通过,因为在您提供的链接指令中,它为模拟服务指定了相同的密钥库:keystore和truststore,并且由于服务器证书在此导入,因此通过此验证没有问题

    所以可能正如您所说,问题是您的模拟服务在127.0.0.1上,并且您的证书已颁发用于mydomain.com

    一种可能的解决方法是禁用SSL验证,但这没有任何意义,因为正如您在问题中所说,您希望使用" real"来测试服务。证书,您可以尝试编辑host文件并为您的证书服务器域添加127.0.0.1 IP地址的映射,在您的情况下:

    127.0.0.1       mydomain.com
    

    然后将模拟服务的SOAPUI端点更改为https://mydomain.com

    希望这有帮助,