The default http fetcher is based on apache httpclient 4.x.

There's some talk of this over here:

http://stackoverflow.com/questions/2703161/apache-httpclient-4-0-ignore-ssl-certificate-errors

However I recommend that you do NOT do this as it could expose you to man in
the middle attacks.  Keytool should get the job done.

On Thu, Jul 7, 2011 at 5:53 AM, Ryan J Baxter <[email protected]> wrote:

> Doug did you try using gadgets.makeRequest?  Did you have the same
> problem?
>
> -Ryan
>
> Email: [email protected]
> Phone: 978-899-3041
> developerWorks Profile
>
>
>
> From:   "Davies,Douglas" <[email protected]>
> To:     <[email protected]>,
> Date:   07/07/2011 01:11 AM
> Subject:        Re: Handling Certificates
>
>
>
> We had the same situation.  The osapi.http.get call is be proxied through
> your shindig server. You need to install the certificate into the cacerts
> file on your shindig host using keytool then java should be able to find
> it.
>
> Doug
>
> On Jul 6, 2011, at 5:09 PM, "Eric Woods" <[email protected]> wrote:
>
> > Fellow Shindig Developers,
> >
> > I have a tough question regarding certificates.  We have a server set up
> that requires the acceptance of a certificate to access a URL which the
> server hosts.  If I access the URL via a web browser, the browser prompts
> the user to trust the certificate (i.e. add an exception for the
> certificate in Firefox) prior to using the service.  Once I trust the
> certificate, all is well.  From a Shindig/gadget perspective, however, we
> don't have a pretty UI to prompt the user to accept the certificate.  We
> request the URL within a gadget using osapi.http.get() as follows:
> >
> >         var params = {
> >           "href": "https://myhost.com/irequireacertificate";,
> >           "headers": {
> >             "Authorization": ["Basic xYz123"],
> >             "User-Agent": ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6;
> rv:5.0) Gecko/20100101 Firefox/5.0"],
> >             "Accept":
>
> ["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json"],
> >             "Accept-Encoding": ["gzip, deflate"],
> >             "Accept-Charset": ["ISO-8859-1,utf-8;q=0.7,*;q=0.7"]
> >         };
> >         osapi.http.get(params).execute(function(resp) {
> >           console.log(resp);
> >         });
> >
> > Invoking the request throws the following exception from
> BasicHttpFetcher:
> >
> > Caused by: org.apache.shindig.gadgets.GadgetException:
> javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
> >         at
>
> org.apache.shindig.gadgets.http.BasicHttpFetcher.fetch(BasicHttpFetcher.java:389)
> >         at
>
> org.apache.shindig.gadgets.http.DefaultRequestPipeline.execute(DefaultRequestPipeline.java:104)
> >         at
>
> org.apache.shindig.gadgets.servlet.HttpRequestHandler.execute(HttpRequestHandler.java:231)
> >         ... 33 more
> >
> > I suspect (and a quick Google search agrees) that this is likely because
> the server requires a certificate to be trusted, but Shindig's
> BasicHttpFetcher is unable to handle this challenge, so things blow up.
> What type of strategy should we use for gadgets handling certificates?  I
> don't have enough expertise with SSL certificates for a credible
> recommendation.
> >
> > Thanks!
> > - Eric W.
>
>
>
>


-- 
Paul Lindner -- [email protected] -- linkedin.com/in/plindner

Reply via email to