Мне нужна помощь, чтобы заставить работать DIGEST-аутентификацию.Я использую библиотеку apache 4.1.Когда я пытаюсь войти, я получаю.
Исключение в потоке "main" javax.net.ssl.SSLPeerUnverifiedException: узел не аутентифицирован
Я пытаюсь войти в Asterisk SwitchVox Dev Extend API, который вы просто отправляете в XML-сообщение и возвращаете информацию.У меня, конечно, есть правильное имя пользователя / пароль, и я получил это, работая над сценарием PERL, но я просто не могу получить его в JAVA.
Вот мой код
public class Main {
public static void main(String[] args) throws Exception {
HttpHost targetHost = new HttpHost("192.168.143.253", 443, "https");
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
httpclient.getCredentialsProvider().setCredentials(
new AuthScope("192.168.143.253", targetHost.getPort()),
new UsernamePasswordCredentials("username", "mypassword"));
// Create AuthCache instance
AuthCache authCache = new BasicAuthCache();
// Generate DIGEST scheme object, initialize it and add it to the local auth cache
DigestScheme digestAuth = new DigestScheme();
authCache.put(targetHost, digestAuth);
// Add AuthCache to the execution context
BasicHttpContext localcontext = new BasicHttpContext();
localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache);
HttpGet httpget = new HttpGet("https://192.168.143.253/xml/");
System.out.println("executing request: " + httpget.getRequestLine());
System.out.println("to target: " + targetHost);
for (int i = 0; i < 3; i++) {
HttpResponse response = httpclient.execute(targetHost, httpget, localcontext);
HttpEntity entity = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());
}
EntityUtils.consume(entity);
}
} finally {
// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
httpclient.getConnectionManager().shutdown();
}
}
}