Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,642
Записей в блоге: 3
#1

HttpsURLConnection с неподписанным сертификатом безопасности - Программирование Android

19.08.2015, 16:53. Просмотров 192. Ответов 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 с неподписанным сертификатом безопасности


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

Использование HttpsURLConnection - Программирование Android
Используется не подписанный сертификат безопасности.! GEt запрос проходит отлично.... Не получается POST (нужно отправить данные) ...

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

Хитрость или Аутентификация в WebТерминале с сертификатом безопасности - Web
Хитрость или Аутентификация в WebТерминале с сертификатом безопасности. Есть WebТерминал основанный на ActiveX (Работающей в Браузере...

HttpsUrlConnection & bad_record_mac - Java Сети
Столкнулся с проблемой такого рода. Мне нужно подгружать страницу с одного сайта по https (сайт сказать не могу, он служебный). Но при...

Ошибка с корневым сертификатом - Администрирование Windows
Проблема с приложение eyeBeam. После установки программы Крипто про и некоторого сертификата перестала работать программа eyeBeam....

Подписать файл сертификатом - Windows 7
Нужно подписать файл(допустим просто txt) сертификатом. Сертификат делал так: makecert -sv developer.pvk -r -n "CN=Developer" -pe -sky...

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

Подписать приложение сертификатом - C#
Здравствуйте форумчани.. У меня тут созрел такой вопрос - а возможно ли подписать приложение купленым сертефикатом для сайта. Есть ли...

Как подписать скрипт сертификатом? - PHP
Необходимо в скрипте на PHP принимать удаленную xml-ку, необходимо чтобы соединение происходило посредством https и сторона приемник, т.е....

Онлайн-курсы С# с тестами и сертификатом - C#
Подскажите бесплатные онлайн-курсы по С#. Для ориентирования — как intuit, но лучше. Там курс 2005 года. Хотелось бы посвежее. Как на...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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