Шаг 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());
Я выполнил ваше решение, чтобы сделать запрос https с помощью asynchttpclientlibrary. Каков наилучший способ хранения пароля хранилища ключей в приложении Android? безопасно ли хранить на Android его можно расшифровать? –