Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Отправка запроса https с сертификатом и ключевым файлом / 3 сообщений из 3, страница 1 из 1
18.05.2021, 17:14
    #40071116
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса https с сертификатом и ключевым файлом
Здравствуйте.
Отправляю POST https запрос с использованием Postman.
В системе необходимый сертификат установлен.
В настройках Postman указываю путь к файлу сертификата и к ключевому файлу, в заголовке запроса передаю содержимое сертификата. Все работает.

Пытаюсь сделать то же самое из приложения с использованием org.apache.http.client.HttpClient и org.apache.http.client.methodы.HttpPost.
В заголовке содержимое сертификата я добавил. А вот где прописать пути к файлу сертификата и к ключевому файлу - разобраться не могу.

Подскажите пожалуйста, как правильно отправить https запрос из java кода
...
Рейтинг: 0 / 0
18.05.2021, 18:18
    #40071130
Отправка запроса https с сертификатом и ключевым файлом
Я не очень понимаю что такое "В заголовке содержимое сертификата я добавил", но да ладно.. Для того чтоб клиент доверял сертификату нужно чтоб root сертификат был в trusted хранилище (для Java это файл carcerts где-то внутри JAVA_HOME). А также чтоб сервер отдавал всю цепочку сертификатов (certificate chain), иначе прийдется intermediate серты тоже перечислять в cacerts, что неудобно. Если серт самоподписанный, то его и нужно добавить в cacerts, он сам для себя root.

Для работы с cacerts в Java используют cmd утилиту keytool .

PS: Ну и никаких путей к "ключевому файлу" или заголовков дополнительных добавлять не надо. Ни в случае Java, ни в случае Postman.
...
Рейтинг: 0 / 0
18.05.2021, 22:25
    #40071171
Sergunka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка запроса https с сертификатом и ключевым файлом
Павел Гужанов
Здравствуйте.
Отправляю POST https запрос с использованием Postman.
В системе необходимый сертификат установлен.
В настройках Postman указываю путь к файлу сертификата и к ключевому файлу, в заголовке запроса передаю содержимое сертификата. Все работает.

Пытаюсь сделать то же самое из приложения с использованием org.apache.http.client.HttpClient и org.apache.http.client.methodы.HttpPost.
В заголовке содержимое сертификата я добавил. А вот где прописать пути к файлу сертификата и к ключевому файлу - разобраться не могу.

Подскажите пожалуйста, как правильно отправить https запрос из java кода


Лет десять назад пути прописывались в пропетиз

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
            System.setProperty("javax.net.ssl.keyStoreType", KEY_STORE_TYPE);
            System.setProperty("javax.net.ssl.keyStore", KEY_STORE);
            System.setProperty("javax.net.ssl.keyStorePassword", KEY_STORE_PASS );

            System.setProperty("javax.net.ssl.trustStoreType", TRUST_STORE_TYPE);
            System.setProperty("javax.net.ssl.trustStore", TRUST_STORE);
            System.setProperty("javax.net.ssl.trustStorePassword", TRUST_STORE_PASS);

            System.setProperty("javax.net.debug", "ssl,handshake");



https://github.com/SVyatkin/tomcat-ssl-java-example/blob/master/src/main/java/com/ssl/SSLTest.java

Тут у меня древняя статья на эту тему
https://vyatkins.wordpress.com/2013/11/19/java-base-ssl-connection-to-tomcat-with-server-and-client-certifications/
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Отправка запроса https с сертификатом и ключевым файлом / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]