简体   繁体   English

REST-ASSURED API 测试 javax.net.ssl.SSLHandshakeException:

[英]REST-ASSURED API TESTING javax.net.ssl.SSLHandshakeException:

I am trying to make a request using rest-assured to return a token.我正在尝试使用放心返回令牌的请求。 It was working until now, i dont know what happened and what should i do but it is not making any request anymore.它一直工作到现在,我不知道发生了什么以及我应该怎么做,但它不再提出任何请求。 It might be a problem in my machine idk.这可能是我机器 idk 的问题。

public class Authenticator{
        public static String returnToken() {
            RestAssured.baseURI = GlobalVariables.URL;  //API variable
            String response = given().header("Authorization", GlobalVariables.authBasic)
            .when().post(GlobalVariables.cURLAuth).then().assertThat().statusCode(200).extract()
            .response().asString();
            JsonPath js = new JsonPath(response); 
            String acess_token = js.getString("access_token");
            return acess_token;
        }
    }

and i get an error and no idea how to resolve it, can someone help me?:我得到一个错误,不知道如何解决它,有人可以帮助我吗?:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:371)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:309)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1357)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1232)
    at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1175)
    at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
    at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)
    at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)
    at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:570)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:554)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:415)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
    at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:605)
    at ........

Try:尝试:

...
RestAssured.baseURI = GlobalVariables.URL;
RestAssured.useRelaxedHTTPSValidation();
...

or alternative syntax:或替代语法:

given().header("Authorization", GlobalVariables.authBasic)
         .relaxedHTTPSValidation().when()...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM