- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
При отправке API-запроса возникает ошибка: unable to find valid certification path to requested target
При отправке api-запроса на ресурс возникает ошибка:
"javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"
Из-за чего это может быть?
package switchover;
import io.restassured.RestAssured;
import io.restassured.config.SSLConfig;
import io.restassured.response.Response;
import org.junit.Test;
import static io.restassured.RestAssured.given;
public class CheckLeader {
@Test
public void checkLeader(){
String certPath = "path";
String pass = "pass";
RestAssured.config = RestAssured.config().sslConfig(
new SSLConfig().keyStore(certPath, pass).trustStore(certPath, pass));
Response response = given()
.relaxedHTTPSValidation()
.config(RestAssured.config())
.get("path")
.then()
.statusCode(200)
.extract().response();
System.out.println(response.prettyPrint());
}
}
Ответы (1 шт):
У вас отсутствует доверенный сертификат в хранилище сертификатов. Вам надо добавить сертификат для приложения в файл truststore
используемой JVM, расположенный в
$JAVA_HOME\lib\security\cacerts.
Чтобы проверить, есть ли ваш сертификат в хранилище доверенных сертификатов, выполните следующую команду:
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts"
Если ваш сертификат отсутствует, то вы можете получить его, загрузив его с помощью браузера, и добавив в хранилище доверенных сертификатов, с помощью следующей команды:
keytool -import -noprompt -trustcacerts -alias <AliasName> -file <certificate> -keystore <KeystoreFile> -storepass <Password>
Пример:
keytool -import -noprompt -trustcacerts -alias myAlias -file /path/to/my/cert/myCert.cer -keystore /path/to/my/jdk/jre/lib/security/cacerts/keystore.jks -storepass changeit
После импорта, в можете проверить, если ваш сертификат добавлен в хранилище доверенных сертификатов, с помощью команды вверху.
Более подробную информацию вы можете найти в Java Tutorial.