Apache HTTPClient SSLPeerUnverifiedException

Usando o Apache HttpClient 4.2.1. Usando o código copiado do exemplo de login baseado em formulário

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

Eu recebo uma exceção ao acessar um formulário de login protegido por 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)

O certificado, tanto quanto eu posso dizer é bom (veja a URL antes do rastreamento de pilha), não expirou - navegadores não se queixam.

Eu tentei importar o certificado para o meu keystore a la

Como lidar com certificados SSL inválidos com o Apache HttpClient?

sem mudança. Acredito que você possa criar um SSLContext personalizado para forçar o Java a ignorar o erro, mas prefiro corrigir a causa raiz, pois não quero abrir nenhuma falha de segurança.

Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion