2015-08-26 2 views
0

У меня есть файл 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 
+0

Мы можем попытаться вам помочь, но вам нужно задать вопрос, который вы здесь не сделали. Пожалуйста, скажите, почему этот код не работает и что вы хотите. – Adriaan

+0

Попытайтесь прочитать [Андерс-залп, подписанный якорем HTTPS, для пути сертификации не найден] (http://stackoverflow.com/questions/32154115/android-volley-self-signed-https-trust-anchor-for-certification-path- не найдено/32219177 # 32219177), чтобы узнать, полезно ли это для вас или нет. – BNK

+0

Привет, спасибо за беспокойство ... используя код, всегда получая SSLHandshakeException. – Pankaj

ответ

0

решенный проблема с использованием правильного файла BKS. Я изучаю с этой проблемой, что, не пытайтесь решить проблему только односторонне, хотя попробуйте со всем вероятным решением с открытым умом. Даже я до сих пор не знаю, как проверить правильный файл BKS, если у нас есть файлы .p12 и .cer. Но вы должны быть правильным файлом хранилища ключей для успешного соединения. Ниже приведена команда, которую я использовал для преобразования файла BKS:

keytool -importkeystore -srckeystore xyz.p12 -srcstoretype BKS -destkeystore new-store.bks -deststore type BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath bcprov-jdk15on-149.jar