Apache HttpClient - параметр trustAnchors должен быть не пустым

Я пытаюсь написать простой httpclient для доступа к веб-сайтам https, но получаю неожиданную ошибку: java.security.InvalidAlgorithmParameterException:

public SyncHttpClient()
 {
     System.setProperty("javax.net.ssl.trustStore","C:/Program Files/Java/jre1.8.0_152/lib/security");
     System.setProperty("javax.net.ssl.trustStorePassword","changeit");
     DefaultProxyRoutePlanner routePlanner=this.setProxy();
     client = HttpClients.custom().setRoutePlanner(routePlanner).build();
 }

 public String getAPI(String url) throws Exception
 {
     try{

     HttpGet request = new HttpGet(url);
     String responseBody = null;

     ResponseHandler<String> responseHandler = new ResponseHandler<String>() {

         @Override
         public String handleResponse(
                 final HttpResponse response) throws ClientProtocolException, IOException {
             int status = response.getStatusLine().getStatusCode();
             if (status >= 200 && status < 300) {
                 HttpEntity entity = response.getEntity();
                 return entity != null ? EntityUtils.toString(entity) : null;
             } else {

                 throw new ClientProtocolException("Error");
             }
         }

     };
        try{
         responseBody = client.execute(request, responseHandler);
         System.out.println("----------------------------------------");
         System.out.println(responseBody);
        }catch(Exception e){

            e.printStackTrace();
        }
    }
     finally
     {
         client.close();
     }

    return responseBody.toString();

 }
  1. Я устанавливаю хранилище доверенных сертификатов по умолчанию, используя:

System.setProperty ("javax.net.ssl.trustStore", "C: / Program Files / Java / jre1.8.0_152 / lib / security"); System.setProperty ("javax.net.ssl.trustStorePassword", "changeit");

0 ответов

Другие вопросы по тегам