Я разрабатываю приложение для Android, которое подключается к серверу через соединение https.
Я создал файл my_store.bks с доверенным сертификатом и использовал следующий код для подключения к серверу:
DefaultHttpClient httpclient = new DefaultHttpClient();
KeyStore trustStore = KeyStore.getInstance("BKS");
InputStream in = context.getResources().openRawResource(R.raw.my_store);
try{
trustStore.load(in,pass.toCharArray());
}
catch(Exception e){
Log.v("MyLog", "errror reading sert: " + e.toString());
}
finally{
in.close();
}
SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, 443);
httpclient.getConnectionManager().getSchemeRegistry().register(sch);
HttpPost poster = new HttpPost(serverAdress);
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(formparams,"UTF-8");
poster.setEntity(ent);
HttpResponse responsePost = httpclient.execute(poster);
но когда я выполняю этот код, у меня появляется следующая ошибка:
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate No peer certificate
вот схожая проблема
Нет сертификата пира. Не уверен, какой маршрут взять , но я не хочу игнорировать сертификаты SSL.
Кто-нибудь знает, что это может быть? Это может быть какая-то ошибка сервера? (сервер развивается, поэтому могут быть ошибки, но в браузере он отлично работает с sert).