У меня есть файл p12 и файл cer, предоставленный клиентом.javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSLhandshaketerminated:
Я, используя ниже код, чтобы соединиться с сервером, но с SSSLHandshakeException всегда:
KeyStore trustStore = KeyStore.getInstance("BKS");
trustStore.load(R.raw.trustore),
password.toCharArray());
SSLSocketFactory sf = new MySSLSocketFactory(trustStore);
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
registry.register(new Scheme("https", sf, 443));
ClientConnectionManager ccm = new ThreadSafeClientConnManager(params, registry);
DefaultHttpClient defaultHttpClient=new DefaultHttpClient(ccm, params);
Обратите внимание, что я преобразованный trustore (.bks файл), используя ниже CMD:
keytool -genseckey -alias alias_name -keystore truststore.bks -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath bcprov-jdk15on-149.jar -storetype BKS
Мы можем попытаться вам помочь, но вам нужно задать вопрос, который вы здесь не сделали. Пожалуйста, скажите, почему этот код не работает и что вы хотите. – Adriaan
Попытайтесь прочитать [Андерс-залп, подписанный якорем HTTPS, для пути сертификации не найден] (http://stackoverflow.com/questions/32154115/android-volley-self-signed-https-trust-anchor-for-certification-path- не найдено/32219177 # 32219177), чтобы узнать, полезно ли это для вас или нет. – BNK
Привет, спасибо за беспокойство ... используя код, всегда получая SSLHandshakeException. – Pankaj