Получить и проверить сертификат с сервера HTTPS - android

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

private static String SendPost(String url, ArrayList pairs) {   // url = "https://....."   
    errorMessage = "";   
    String response = "";   

    DefaultHttpClient hc=new DefaultHttpClient();      
    ResponseHandler  res=new BasicResponseHandler();      
    HttpPost postMethod=new HttpPost(url);   

    try {   
postMethod.setEntity(new UrlEncodedFormEntity(pairs));   
        response = hc.execute(postMethod, res);   
    } catch (UnsupportedEncodingException e) {   
        e.printStackTrace();   
    } catch (ClientProtocolException e) {   
        e.printStackTrace();   
    } catch (IOException e) {   
        e.printStackTrace();   
    }        

    return response;   
}  

Как проверить самоподписанный сертификат, полученный от сервера во время выполнения публикации? Мне нужно провести тестирование с помощью открытых / закрытых ключей. У клиента будет файл CA. Мне просто нужно, чтобы клиент проверил сертификат сервера с помощью CA, служба является общедоступной. Это связано с открытым / закрытым ключом. Как я могу получить сертификат с сервера перед тем, как позвонить на почту?

В stackoverflow доступно несколько вариантов и фрагментов кода. Я нашел несколько ссылок с несколькими ответами: Как я могу получить сертификат с сервера перед тем, как позвонить на почту?

В stackoverflow доступно несколько вариантов и фрагментов кода. Я нашел несколько ссылок с несколькими ответами: Как я могу получить сертификат с сервера перед тем, как позвонить на почту?

В stackoverflow доступно несколько вариантов и фрагментов кода. Я нашел несколько ссылок с несколькими ответами: Принятие сертификата для HTTP на Android HTTPS GET (SSL) с Android и самозаверяющим сертификатом сервера

Но я не могу понять, что мне подходит! Я не хочу отключать все или принимать какие-либо. Необходимо проверить открытые / закрытые ключи /

Любая помощь приветствуется.

8
задан Community 23 May 2017 в 11:58
поделиться