Thanks Sebastian. I am not to familiar with this part of the code in Shindig but it looks like we are just passing the host name, ie https://ajax.googleapis.com, to the fetcher. Is there anything we as the the Shindig community can do to help out?
-Ryan Email: rjbax...@us.ibm.com Phone: 978-899-3041 developerWorks Profile From: sebb AT ASF <s...@apache.org> To: Ryan J Baxter/Westford/IBM@Lotus, Cc: dev@shindig.apache.org, HttpComponents Project <d...@hc.apache.org> Date: 11/07/2011 02:19 PM Subject: Re: httpclient version upgrade causing SSL exceptions Sent by: seb...@gmail.com On 7 November 2011 18:45, Ryan J Baxter <rjbax...@us.ibm.com> wrote: > I have been seeing SSL exceptions being thrown relating to certificates not > matching in builds from trunk recently. I have traced this back to a > httpclient upgrade from 4.1.1 to 4.1.2. Would anyone be opposed to > reverting back to 4.1.1 for the time being? > > Looking that the changes that went into 4.1.2, this change looks like it > might be related to the problem. I have CCed Sebastian, maybe he can > confirm. This should really have been fed back to all the HttpComponents developers via e-mail or JIRA issue; I'm copying the mailing on this reply. > > * [HTTPCLIENT-1097] BrowserCompatHostnameVerifier and StrictHostnameVerifier > should handle > wildcards in SSL certificates better. > Contributed by Sebastian Bazley <sebb at apache.org> > INFO: The following exception occurred when fetching > https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js:405 ms > elapsed. > Nov 7, 2011 1:38:28 PM org.apache.shindig.gadgets.http.BasicHttpFetcher > fetch > INFO: > javax.net.ssl.SSLException: hostname in certificate didn't match: > <ajax.googleapis.com/74.125.115.95> != <*.googleapis.com> OR > <googleapis.com> OR <*.googleapis.com> > at It's not obvious why the hostname includes an IP address as well as a name. I don't yet know if the validation is supposed to cope with that or not. Also rather odd is that the hostname and IP address do not agree. It's quite possible that the validation is wrong, and it should allow for the /IP suffix, but it's also possible that the wrong hostname is being passed to the validation method. > org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:228) > at > org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54) > at > org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:149) > at > org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:130) > at > org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397) > at > org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:495) > at > org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket(SchemeSocketFactoryAdaptor.java:62) > at > org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148) > at > org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149) > at > org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121) > at > org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:573) > at > org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) > at > org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776) > at > org.apache.shindig.gadgets.http.BasicHttpFetcher.fetch(BasicHttpFetcher.java:361) > at > org.apache.shindig.gadgets.http.DefaultRequestPipeline.execute(DefaultRequestPipeline.java:108) > at > org.apache.shindig.gadgets.http.MultipleResourceHttpFetcher$HttpFetchCallable.call(MultipleResourceHttpFetcher.java:105) > at > org.apache.shindig.gadgets.http.MultipleResourceHttpFetcher$HttpFetchCallable.call(MultipleResourceHttpFetcher.java:92) > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > Nov 7, 2011 1:38:28 PM org.apache.shindig.gadgets.servlet.ConcatProxyServlet > outputError > INFO: The following error occurred when requesting a concatenated proxy: /* > ---- Error INTERNAL_SERVER_ERROR > concat(https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js) > javax.net.ssl.SSLException: hostname in certificate didn't match: > <ajax.googleapis.com/74.125.115.95> != <*.googleapis.com> OR > <googleapis.com> OR <*.googleapis.com> ---- */. > > -Ryan > > Email: rjbax...@us.ibm.com > Phone: 978-899-3041 > developerWorks Profile >