REST确保抛出SSLPeerUnverifiedException:对等方未通过身份验证

时间:2020-09-13 15:00:54

标签: java rest-assured

我有一个服务,可以公开我要测试的API。 我正在本地主机上运行该服务,它具有自签名证书。

我将.p12文件添加到测试/资源以及@BeforeAll上:

    RestAssured
            .config()
            .sslConfig(
                    new SSLConfig().with().trustStoreType("PKCS12").and().relaxedHTTPSValidation().and()
                            .trustStore(ResourceUtils.getFile("classpath:cert.p12"), "mypassword"));

还添加了此内容:

RestAssured.config()。sslConfig(SSLConfig.sslConfig()。allowAllHostnames());

尽管出现以下错误:

javax.net.ssl.SSLPeerUnverifiedException:对等方未通过身份验证

为什么?

更新
在运行时,我看到RestAssured.config().getSSLConfig().getTrustStore()null,但是如何?

更新2:我不介意REST保证会信任所有证书(安全性不是问题)

1 个答案:

答案 0 :(得分:0)

通过添加relaxedHTTPSValidation()来解决它(某种):

RestAssured.given().relaxedHTTPSValidation()

缺点:每个HTTP调用都必须这样做。