Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 1 / 1
Регистрация: 24.04.2010
Сообщений: 76

Можно ли ssl для https отключить?

22.05.2019, 15:02. Показов 1253. Ответов 4

Студворк — интернет-сервис помощи студентам
Приложение на java. Используется okHttp версии 2.7.5 . Делается запрос к другому сервису и вылетает ошибка

Java
1
2
3
SSLHandshakeException: sun.security.validator.ValidatorException: 
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target
Пробую вот такое решение для okHttp, но оно не работает:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
    public OkHttpClient getUnsafeOkHttpClient() {
        try {
            // Create a trust manager that does not validate certificate chains
            final TrustManager[] trustAllCerts = new TrustManager[] {
                    new X509TrustManager() {
                        @Override
                        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        }
 
                        @Override
                        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        }
 
                        @Override
                        public X509Certificate[] getAcceptedIssuers() {
                            return new X509Certificate[]{};
                        }
                    }
            };
 
            // Install the all-trusting trust manager
            final SSLContext sslContext = SSLContext.getInstance("SSL");
 
            sslContext.init(null, trustAllCerts, new SecureRandom());
            // Create an ssl socket factory with our all-trusting manager
 
            final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
 
 
            //X509TrustManager allCert = (X509TrustManager) trustAllCerts[0];
 
            return new OkHttpClient()
                    .setSslSocketFactory(sslSocketFactory)
                    .setHostnameVerifier((hostname, session) -> true);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

Сертификата у меня нет. Вроде есть решения для версии okHttp3. Но версию поменять не удастся. Как решить проблему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2019, 15:02
Ответы с готовыми решениями:

SSL, HTTPS etc.
Мне нужно написать сайт, предоставляющий пользователям конфиденциальную информацию (типа состояния их счета на МТС). Насколько я понимаю,...

Ошибка ssl в https
Драститя ребята, мне нужна помощь. Написал код который конеектится к сайту https и парсит его страницу, страницу гугла он парсит, а вот...

HTTPS и SSL сертификат
Привет всем! Сразу оговорюсь, сносить винду крайне нежелательно. Вообщем проблема, перестал открываться сайт по https , причём...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.05.2019, 15:16
https://stackoverflow.com/ques... ith-okhttp
ты код не в состоянии скопировать полностью?
0
2 / 1 / 1
Регистрация: 24.04.2010
Сообщений: 76
22.05.2019, 16:12  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
ты код не в состоянии скопировать полностью?
Цитата Сообщение от maksimka2112 Посмотреть сообщение
Используется okHttp версии 2.7.5
Я же написал, что версия вторая, а решения для третьей. То решение, которое по твоей ссылке, это для okHttp3, а мне надо для версии 2.7.5 ! Потому что я могу подменить настройки для okHttpClient, а целиком его заменить не могу. Могу новый инстанс подсунуть. Но только вторую версию, не третью! Потому что это интеграция на удалённой стороне и я к этому доступ не имею.

А код, который я выложил, это одна из попыток хоть как-то что-то сделать
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.05.2019, 16:32
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public static void main(String[] args) throws NoSuchAlgorithmException, KeyManagementException, IOException {
        final TrustManager[] trustAllCerts = new TrustManager[]{
                new X509TrustManager() {
                    @Override
                    public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {
                    }
 
                    @Override
                    public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {
                    }
 
                    @Override
                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                        return new java.security.cert.X509Certificate[]{};
                    }
                }
        };
 
        final SSLContext sslContext = SSLContext.getInstance("SSL");
        sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
        final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
        OkHttpClient client = new OkHttpClient()
                .setSslSocketFactory(sslSocketFactory)
                .setHostnameVerifier((hostname, session) -> true);
        sendRequest(client, "https://expired.badssl.com/");
        sendRequest(client, "https://wrong.host.badssl.com/");
        sendRequest(client, "https://self-signed.badssl.com/");
        sendRequest(client, "https://untrusted-root.badssl.com/");
        sendRequest(client, "https://revoked.badssl.com/");
        sendRequest(client, "https://pinning-test.badssl.com/");
    }
 
    private static void sendRequest(OkHttpClient client, String url) throws IOException {
        Request request = new Request.Builder().url(url).build();
        Response execute = client.newCall(request).execute();
        System.out.println(execute);
    }
0
2 / 1 / 1
Регистрация: 24.04.2010
Сообщений: 76
22.05.2019, 16:53  [ТС]
Рабочее решение:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    public OkHttpClient getUnsafeOkHttpClient() {
        try {
            // Create a trust manager that does not validate certificate chains
            final TrustManager[] trustAllCerts = new TrustManager[]{
                    new X509TrustManager() {
                        @Override
                        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        }
 
                        @Override
                        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                        }
 
                        @Override
                        public X509Certificate[] getAcceptedIssuers() {
                            return new X509Certificate[]{};
                        }
                    }
            };
 
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
 
            final SSLSocketFactory sslSocketFactory = sc.getSocketFactory();
 
            return new OkHttpClient()
                    .setSslSocketFactory(sslSocketFactory)
                    .setHostnameVerifier((hostname, session) -> true);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2019, 16:53
Помогаю со студенческими работами здесь

QNetworkAccessManager и QWebView, https, SSL
Проблема с загрузкой страниц в QWebView через QNetworkAccessManager, если посылать запрос через менеджер и потом загруженные данные...

Proxy Server HTTPS через SSL
Добрый день. Столкнулся с задачей написать прокси сервер. Нашел хороший пример...

Нужна продвинутая помощь по SSL (HTTPS)
Требуется помощь человека, хорошо разбирающегося в протоколе HTTPS. Требуется следующее: Насколько я понимаю, при запросе сайта...

Отправить Https-запрос банку с использованием SSL
Здравствуйте! Мне нужно написать простой https-клиент, который делает 1 запрос тестовому серверу банка. С понятием Http запросов GET и...

SSl сертификат и переход Joomla c http на https
Добрый день! Столкнулся с такой проблемой. Потребовалось поставить SSl сертификат на сервер. Через ISPmanager за два клика пристегнул...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru