Я видел много тем с людьми возникли проблемы с аутентификацией на основе сертификатов, но почти всегда проблема заключалась в возникновении исключений из программы. Я прошел его, но сервер не хочет аутентифицировать меня - я получаю от сервера ответ «Не удалось авторизовать предоставленные учетные данные». Я попробовал решение https://www.jvt.me/posts/2020/01/14/mut ... t-assured/, которое использует создание объекта RestAssured SSLConfig путем передачи SSLSocketFactory объект. Другой предлагаемый подход заключается в использовании встроенных методов RestAssured для передачи хранилища ключей и доверенного хранилища. Я думаю, что он также использует SSLSocketFactory под капотом, но в любом случае я придумал вот что:
Код: Выделить всё
SSLConfig sslConfig = new SSLConfig()
.keyStore(p12CertPath, password)
.keystoreType("pkcs12")
.trustStore(p12CertPath, password)
.trustStoreType("pkcs12")
.allowAllHostnames()
.relaxedHTTPSValidation("TLS");
RestAssuredConfig restAssuredConfig = new RestAssuredConfig().sslConfig(sslConfig);
with()
.config(restAssuredConfig)
.contentType(ContentType.XML)
.body(someBody)
.post(someAddress)
.then().statusCode(200);
похожая тема: Будьте уверены, Java – использование сертификата TLS/SSL в почтовом запросе
Подробнее здесь: https://stackoverflow.com/questions/789 ... entication