首页 文章

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

提问于
浏览
0

按照以下步骤设置带自签名证书的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

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

    • 验证服务器证书是否可信 .

    • 验证服务器证书的主题可分辨名称中的公用名是否与域匹配 .

    我假设第一个验证通过,因为在您提供的链接指令中,它为模拟服务指定了相同的密钥库:密钥库和信任库,并且由于服务器证书在此导入,因此传递此验证没有问题 .

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

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

    127.0.0.1       mydomain.com
    

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

    希望这可以帮助,

相关问题