2015-02-02 3 views

ответ

1

Шаг 1: Сначала Скачать хранилище ключей ПроводникаDownload Link и создать новый файл хранилище ключей типа BKS-V1 и импортировать сертификат открытого ключа в хранилище ключей.

Шаг 2: Скопируйте файл Keystore в res/raw вашего проекта.

Шаг 3: Используйте эту функцию, чтобы получить SSLSocketFactory

private SSLSocketFactory getSocketFactory() { 
     // TODO Auto-generated method stub 
     SSLSocketFactory sslFactory = null; 
     try { 
      KeyStore keyStore = KeyStore.getInstance("BKS"); 
      InputStream instream = this.getResources().openRawResource(
        R.raw.website_public); 
      keyStore.load(instream, "keystore_password".toCharArray()); 
      sslFactory = new MySSLSocketFactory(keyStore); 
     } catch (KeyStoreException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (NoSuchAlgorithmException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (CertificateException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (UnrecoverableKeyException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (KeyManagementException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return sslFactory; 
    } 

Шаг 4: Установить SocketFactory в объекте AsyncHttpClient.

 AsyncHttpClient mAsyncHttpClient = new AsyncHttpClient(); 
     mAsyncHttpClient.addHeader(HTTP.CONTENT_TYPE, 
       "application/x-www-form-urlencoded;charset=UTF-8"); 
     mAsyncHttpClient.setSSLSocketFactory(getSocketFactory()); 
+0

Я выполнил ваше решение, чтобы сделать запрос https с помощью asynchttpclientlibrary. Каков наилучший способ хранения пароля хранилища ключей в приложении Android? безопасно ли хранить на Android его можно расшифровать? –

0

Я думаю, вы могли бы исправить это library. AsyncHttpClient в библиотеке можно использовать для создания асинхронных запросов GET, POST, PUT и DELETE HTTP в ваших приложениях Android. И также предоставить SSlSocketFactory для указания связанных с SSL параметров.

Смежные вопросы