Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
239 / 238 / 50
Регистрация: 19.01.2013
Сообщений: 1,892
Записей в блоге: 3
1

HttpsURLConnection с неподписанным сертификатом безопасности

19.08.2015, 16:53. Просмотров 278. Ответов 0
Метки нет (Все метки)

Имеется:
1) сервис работающий по протоколу https - доступ к которому получаешь только если есть сертификат
2) Сертификат безопасности (не подписанный, самописный) - устанавливаем на Андроид



Вот код который работает если настроить в IIS`е "пропускать без сертификата", но если требовать сертификат то ответ от сервера 403.
Кликните здесь для просмотра всего текста

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
 protected Void doInBackground(Void... params) {
 
 
        try
        {
 
 
            URL url = new URL("https://url.ru/mes/home/getmainkey/?uid=*****");
            HttpsURLConnection con;
 
            con = (HttpsURLConnection) url.openConnection();
            con.setRequestMethod("GET");
            con.setRequestProperty("accept", "application/json");
 
            trustAllHosts();
 
            if (isCancelled()) return null;
 
            try
            {
                BufferedReader in = new BufferedReader(
                        new InputStreamReader(con.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();
 
                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();
                Log.i("MyLogIlnar", response.toString());
      
            }
            catch (IOException e) { e.printStackTrace(); }
 
        }
 
        catch (Exception e)
        {
            this.cancel(true);
        }
 
 
       return null;
    }
 
 
 
private void trustAllHosts(){
           try {
            /////
            SSLContext ctx = SSLContext.getInstance("TLS");
            ctx.init(null, new TrustManager[] {
                    new X509TrustManager() {
                        public void checkClientTrusted(X509Certificate[] chain, String authType) {}
                        public void checkServerTrusted(X509Certificate[] chain, String authType) {}
                        public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[]{}; }
                    }
            }, null);
 
            HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
 
            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) {
                    return true;
                }
            });
            /////
        }
        catch (  Exception e) {
           // Log.e(LOG_TAG,e.getMessage(),e);
        }
    }


При попытки открытия сервиса в браузере выскакивает окошко выбора сертификата и после нажатия "Разрешить" мы попадаем куда надо...
Скрин:

Кликните здесь для просмотра всего текста
HttpsURLConnection с неподписанным сертификатом безопасности


Как программно использовать сертификат?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2015, 16:53
Ответы с готовыми решениями:

Использование HttpsURLConnection
Используется не подписанный сертификат безопасности.! GEt запрос проходит...

Сложности с сертификатом при обновлении приложения
Здравствуйте, вообщем писал приложение еще в Android Studio 1.не помню номер,...

Хитрость или Аутентификация в WebТерминале с сертификатом безопасности
Хитрость или Аутентификация в WebТерминале с сертификатом безопасности. ...

HttpsUrlConnection & bad_record_mac
Столкнулся с проблемой такого рода. Мне нужно подгружать страницу с одного...

Ошибка С Сертификатом
Добрый день всем. возник вопрос в работе lotus domino. Постоянно появляется...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2015, 16:53

Непонятное с сертификатом
На одном рабочем началась какая-то ерунда... Захожу с одного ID, работаем с...

Проблема с сертификатом
The following error occurred while trying to update the certificates stored in...

Сервис с самозаверенным сертификатом
Добрый день, у меня возникла проблема когда я пробую запустить службу в iis6,...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru