Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 3

TLS соединение

04.07.2013, 20:43. Показов 2674. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Пытаюсь установить TLS соединение с gmail.com, но в итоге получаю javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorExce ption: Trust anchor for certification path no found. В чём ошибка?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try {
            KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
            
            TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
            tmf.init(keyStore);
            
            SSLContext context = SSLContext.getInstance("TLS");
            context.init(null, tmf.getTrustManagers(), null);
            
            URL url = new URL("https://www.gmail.com/");
            HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
            urlConnection.setSSLSocketFactory(context.getSocketFactory());
            InputStream in = urlConnection.getInputStream();
        } catch (Exception e) {
            // ...
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.07.2013, 20:43
Ответы с готовыми решениями:

Глючит соединение с интернетом. Не открываются сайты, не удается установить DNS соединение
Добрый день! Помогите разобраться с проблемой!!! Есть сеть из 30 ПК, последнее 7 дней стал глючить интернет на некоторых ПК с разными ОС....

Java tls 1.3
Новичок в java. Пробую сделать сокет с возможностью работы с протоколом TLS 1.3 Не получается. SSLContext context =...

Ошибка TLS
Здравствуйте. Решил изучать интернет :) Не понимаю в чем проблема, вычитал на сайте что проблема в OpenSSL и версия не сходится. Но...

2
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
04.07.2013, 21:00
для примера
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.security.cert.CertificateException;
 
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
 
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
 
import android.text.TextUtils;
import android.util.Log;
 
 
public String executeHttpsGet(String uri) {
            Log. v(LOG_TAG, "Https request -" + uri);
            String strResponse = null;
            BufferedReader reader = null;
             try {
                   // Create a trust manager that does not validate certificate chains
                   final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
 
                         @Override
                         public void checkClientTrusted(
                                    java.security.cert.X509Certificate[] chain,
                                    String authType) throws CertificateException {
                               // TODO Auto-generated method stub
 
                        }
 
                         @Override
                         public void checkServerTrusted(
                                    java.security.cert.X509Certificate[] chain,
                                    String authType) throws CertificateException {
                               // TODO Auto-generated method stub
 
                        }
 
                         @Override
                         public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                               // TODO Auto-generated method stub
                               return null ;
                        }
 
                  } };
 
                   // Install the all-trusting trust manager
                   final SSLContext sslContext = SSLContext.getInstance("SSL");
                  sslContext.init( null, trustAllCerts,
                               new java.security.SecureRandom());
                   // Create an ssl socket factory with our all-trusting manager
                   final javax.net.ssl.SSLSocketFactory sslSocketFactory = sslContext
                              .getSocketFactory();
 
                   // All set up, we can get a resource through https now:
                   final URLConnection connection = new URL(uri).openConnection();
                   // Tell the url connection object to use our socket factory which
                   // bypasses security checks
                  ((HttpsURLConnection) connection)
                              .setSSLSocketFactory(sslSocketFactory);
 
                  reader = new BufferedReader(new InputStreamReader(
                              connection.getInputStream()));
 
                  StringBuffer sb = new StringBuffer("" );
                  String line = "";
                   while ((line = reader.readLine()) != null) {
                        sb.append(line);
                  }
                  strResponse = sb.toString();
                  Log. v(LOG_TAG, "response - " + strResponse);
 
            } catch (final Exception e) {
                  Log. v(LOG_TAG, "HttpsGet failed");
                  e.printStackTrace();
            } finally {
                   if (reader != null) {
                         try {
                              reader.close();
                        } catch (IOException e) {
                              e.printStackTrace();
                        }
                  }
            }
 
             return strResponse;
      }
0
0 / 0 / 0
Регистрация: 04.07.2013
Сообщений: 3
04.07.2013, 22:05  [ТС]
V0v1k, спасибо, видел подобный пример, он работает. Но мне нужно с проверкой сертификата. Если я правильно понимаю суть ошибки, то проблема в типе KeyStore. И не понятно, какой KeyStore подключить, чтобы можно было корректно проверить сертификат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.07.2013, 22:05
Помогаю со студенческими работами здесь

CSL и TLS
Не удается удалить/установить модули CSL и TLS. Программа установки выдает ошибку о том, что программа запланировала действия, и установка...

TLS WinAPI
Здравствуйте!У мене не компилится программа.Не могу понять в чем дело. Вот код #include <stdio.h> #include <iostream> ...

Пакеты в TLS
При передачи по TCP пакеты могут склеиться. А могут ли они склеиться при передачи по TLS?

Tls на masm
Приветствую всезнающий all. Есть пример работы с tls, вроде на fasm, не нашел как его скомпилить на masm. Помогите плиз. format ...

Поддержка Tls 1.2 в Framework 4.0
Как известно - Framework 4.0 поддерживает только старую версию протокола Tls 1.0. Вопрос - есть ли какие библиотеки, чтобы заставить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
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