Я пытаюсь загрузить простую страницу с защищенной SSL-страницы.Я использую HtmlUnit для этой задачи (которая оборачивается вокруг HttpClient).
У веб-страницы, которую я пытаюсь загрузить, имеется соответствующий сертификат, подписанный Verisign, и сертификат Verisign присутствует в файле cacerts
(он был там в первую очередь, но я даже импортировал туда всю цепочку сертификатов).
Мое приложение отлично работает как автономное приложение, использующее ту же JVM, что и Glassfish.Однако, если я разверну его на glassfish, я получу классическое исключение проблемы с сертификатом:
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated,
com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:133)
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1405)
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1324)
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:303)
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:385)
Я уже пытался отключить диспетчер безопасности в glassfish, но это не помогло.
Что можетбыть причиной этого странного поведения?
Заранее спасибо.