无法使用破碎的HTTPS进行REST请求页面

时间:2017-06-27 14:59:58

标签: rest ssl rest-assured

我正在使用Java中的RestAssured尝试向网页发出get请求但由于SSL问题我没有成功。一些搜索让我尝试使用'useRelaxedHTTPSValidation()',但我没有运气。

我得到的例外是:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints

以下是我正在尝试做的基础知识:

    RestAssured.baseURI = "HTTPSWebsite";
    RestAssured.useRelaxedHTTPSValidation();
    // RestAssured.useRelaxedHTTPSValidation("TLS"); // Also tried this
    given()
        .log().all()
    .when()
        .get()
    .then()
        .log().all();

如果我在firefox中访问网站,我会看到: SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED

在chrome中我看到: 站点的证书链存在问题(net :: ERR_CERT_COMMON_NAME_INVALID)。

如果我拿出'useRelaxeHTTPSValidation()' 我收到了错误

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

所以我无法找到如何直接使该功能工作,但我发现添加以下两行改变了安全设置以允许所有算法。从那里一切都运作起来。

    Security.setProperty("jdk.tls.disabledAlgorithms","");
    Security.setProperty("jdk.certpath.disabledAlgorithms","");