Apache HTTPClient SSLPeerUnverifiedException

Korzystanie z Apache HttpClient 4.2.1. Używanie kodu skopiowanego z przykładu logowania opartego na formularzu

http://hc.apache.org/httpcomponents-client-ga/examples.html

Otrzymuję wyjątek podczas uzyskiwania dostępu do formularza logowania chronionego SSL:

Getting library items from https://appserver.gtportalbase.com/agileBase/AppController.servlet?return=blank
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
Closing http connection
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:397)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)

Certyfikat, o ile mi wiadomo, jest w porządku (patrz URL przed śladem stosu), nie wygasł - przeglądarki nie narzekają.

Próbowałem zaimportować certyfikat do mojego magazynu kluczy a la

Jak obsługiwać nieprawidłowe certyfikaty SSL za pomocą Apache HttpClient?

bez zmian. Wierzę, że możesz utworzyć własny SSLContext, aby zmusić Javę do zignorowania błędu, ale wolałbym naprawić przyczynę główną, ponieważ nie chcę otwierać żadnych luk w zabezpieczeniach.

Jakieś pomysły?

questionAnswers(2)

yourAnswerToTheQuestion