powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Android [игнор отключен] [закрыт для гостей] / javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
7 сообщений из 7, страница 1 из 1
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402889
dima19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток
подскажите где ошибся
Код: 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.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
import org.apache.http.NameValuePair;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.params.ConnPerRoute;
import org.apache.http.conn.params.ConnPerRouteBean;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.SingleClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import org.json.JSONException;
import org.json.JSONObject;

import javax.net.ssl.*;
import java.io.*;
import java.security.KeyStore;
import java.util.List;
import static java.lang.System.out;

public class JSONParser {

         Context context;

        public JSONParser(Context context) {
            this.context = context;
        }



        public JSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) {
            InputStream is = null;
            InputStream in = null;
 
            KeyStore keystore = null;
            System.setProperty("javax.net.ssl.keyStore", "client01.p12");
            System.setProperty("javax.net.ssl.keyStorePassword", "q1w2e3");
            System.setProperty("javax.net.ssl.trustStore", "mystore.bks");
            System.setProperty("javax.net.ssl.trustStorePassword", "q1w2e3");

            try{
                in = context.getResources().openRawResource(R.raw.mystore);
               KeyStore trustStore = null;
               trustStore = KeyStore.getInstance("bks");
               trustStore.load(in, "q1w2e3".toCharArray());

                out.println("Loaded server certificates: " + trustStore.size());

                // initialize trust manager factory with the read truststore
                TrustManagerFactory trustManagerFactory = null;
                trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
                trustManagerFactory.init(trustStore);

                keystore = KeyStore.getInstance("PKCS12");
                InputStream trustStoreStream = context.getResources().openRawResource(R.raw.client01);
                keystore.load(trustStoreStream, "q1w2e3".toCharArray()); //<-- keystore might be null

                out.println("Loaded client certificates: " + keystore.size());

                // initialize key manager factory with the read client certificate
                KeyManagerFactory keyManagerFactory = null;
                keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
                keyManagerFactory.init(keystore, "q1w2e3".toCharArray());


                // initialize SSLSocketFactory to use the certificates
                SSLSocketFactory socketFactory = null;


                socketFactory = new SSLSocketFactory(SSLSocketFactory.TLS, keystore, "q1w2e3",trustStore ,null,null);

            HttpParams params1 = new BasicHttpParams();
            HttpProtocolParams.setVersion(params1, HttpVersion.HTTP_1_1);
            HttpProtocolParams.setContentCharset(params1, "UTF-8");
            HttpProtocolParams.setUseExpectContinue(params1, true);
            HttpProtocolParams.setUseExpectContinue(params1, false);
            HttpProtocolParams.setUserAgent(params1, "Android app/1.0.0");

            ConnPerRoute connPerRoute = new ConnPerRouteBean(12);
            ConnManagerParams.setMaxConnectionsPerRoute(params1, connPerRoute);
            ConnManagerParams.setMaxTotalConnections(params1, 20);


            HttpConnectionParams.setStaleCheckingEnabled(params1, false);
            HttpConnectionParams.setConnectionTimeout(params1, 20 * 1000);
            HttpConnectionParams.setSoTimeout(params1, 20 * 1000);
            HttpConnectionParams.setSocketBufferSize(params1, 8192);
            HttpClientParams.setRedirecting(params1, false  );

            // Register http/s shemas!
            SchemeRegistry schReg = new SchemeRegistry();
            schReg.register(new Scheme("http", PlainSocketFactory.getSocketFactory(),80));
            schReg.register(new Scheme("https", socketFactory, 443));
            SingleClientConnManager conMgr = new SingleClientConnManager(params1,schReg);
            DefaultHttpClient sClient = new DefaultHttpClient(conMgr, params1);

                out.println("Connected SSL socket11");

            HttpGet httpGet = new HttpGet(url);
            HttpResponse response = null;
            response = sClient.execute(httpGet);
            HttpEntity httpEntity = response.getEntity();

            is = httpEntity.getContent();
            BufferedReader read = new BufferedReader(new InputStreamReader(is));
            String query = null;
                while ((query = read.readLine()) != null)
                     out.println("dima"+query);
        } catch(Exception e)
            {e.printStackTrace();
      }

...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402951
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima19подскажите где ошибся
в 17 строке
...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402956
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima19подскажите где ошибся
Сообщение об ошибке не помешало-бы, да и в какой строке возникает.
Ну и описать-бы желаемый результат.
...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402961
dima19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123dima19подскажите где ошибся
в 17 строке ?
ошибка W/System.err: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
в строке response = sClient.execute(httpGet);
при чтении прочитать все на странице
...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402963
dima19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
через браузер запрашивает сертификат клиента самописный,
на странице результат {"products":[{"pid":"1","name":"dima","price":"45.55","created_at":"2017-02-02 08:24:11","updated_at":"0000-00-00 00:00:00"}],"success":1} json, но до него далеко так как сервак не пропускает
...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402976
dima19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не могу найти ошибку,может что то не то с настройками сервака.Но что искать не знаю
...
Рейтинг: 0 / 0
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
    #39402982
dima19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если отключить проверку socketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
то в строке socketFactory = new SSLSocketFactory(SSLSocketFactory.TLS, keystore, "q1w2e3",null,null,null);
получаю ошибку W/System.err: java.lang.NullPointerException
подскажите как решить проблему.
при запросе openssl s_client -connect *.*.*.*:443
получаю
Certificate chain
0 s:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
i:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
.....
---
SSL handshake has read 1556 bytes and written 419 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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