Интеграционные тесты с сертификатами - PullRequest
0 голосов
/ 12 октября 2018

Я хотел бы написать интеграционные тесты для моего шлюза с взаимной аутентификацией: требуется сертификат клиента и сервера.

с помощью curl. Я могу вызвать конечную точку следующим образом:

curl -k --cert myCert.pem:changeit https:/localhost:9999/home -vv

и он отлично работает.

Я хотел бы использовать уверенность, чтобы написать какой-то интеграционный тест.Когда я пишу их с такой конфигурацией:

RestAssured.keyStore(keystore, "changeit");
RestAssured.trustStore(trustore, "changeit");

, они работают правильно, но мне кажется, что этот тест неверен.

В моем тесте я хотел бы использовать clientCert.pem.auth (). certificate () в уверенности принимает URL-адрес в хранилище ключей JKS, поэтому я преобразовал myCert.pem в clientKeystore.jks, но с приведенной ниже конфигурацией он не работает.

       RestAssured
            .given()
            .auth()
            .certificate("clientKeystore.jks", "changeit")
            .when()
            .baseUri(baseUri)
            .port(port)
            .get("/home")
            .then()
            .statusCode(HttpStatus.OK.value())
            .extract()
            .response();
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

Яновичок в SSL, и я не могу понять, как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...