[horde] Free Busy URL and self signed SSL cert
Simon Wilson
simon at simonandkate.net
Tue Mar 20 09:42:56 UTC 2012
----- Message from Vilius ?umskas <vilius at lnk.lt> ---------
Date: Tue, 20 Mar 2012 11:05:55 +0200
From: Vilius ?umskas <vilius at lnk.lt>
Subject: Re: [horde] Free Busy URL and self signed SSL cert
To: horde at lists.horde.org
>> Zitat von Ralf Lang <lang at b1-systems.de>:
>> >
>> >>> At least for me the link above downloads without any problems except
>> >>> that browser complains certificate is not valid. If you had
>> installed CA
>> >>> into the browser you should be fine here. I don't believe that
>> >>> Kronolith uses SSL for Free Busy generation at all, so the error
>> >>> message must come from the browser.
>> >>>
>> >>> Maybe you are having cache issue? Try clearing temporary
>> >>> files on the
>> >>> browser.
>>
>> I have cleared browser cache.
>>
>> The PC trusts the CA - see http://www.simonandkate.net/img/trust.jpg
>>
>> >>
>> >> I experience the same: Everything alright. No error, no cry.
>> >> SSL handling is transparent to kronolith code.
>> >
>> > It may depend on the Horde_Http_Client backend that's being used.
>> > This could be curl, http extension, or fopen(). They may handle
>> > certs and self-signed failures differently.
>>
>> The error message when googled returns a LOT of curl links. The text
>> returned appears to be a Curl error.
>>
>> This article looks very interesting:
>>
>> http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-
>> ssltls-protected-sites/
>>
>> From what he is saying:
>>
>> "If $url points toward an HTTPS resource, you?re likely to encounter
>> an error like the one below:
>>
>> Failed: Error Number: 60. Reason: SSL certificate problem, verify that
>> the CA cert is OK. Details: error:14090086:SSL
>> routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed"
>>
>> That is EXACTLY the error the error message that I am getting.
>>
>> Back to the article:
>>
>> "The problem is that cURL has not been configured to trust the
>> server?s HTTPS certificate. The concepts of certificates and PKI
>> revolves around the trust of Certificate Authorities (CAs), and by
>> default, cURL is setup to not trust any CAs, thus it won?t trust any
>> web server?s certificate."
>>
>> Note his comment that by default, Curl is not set to trust ANY CAs.
>
> Ahh, OK, so you get this message when using Free/Busy URL inline in
> Kronolith. Kronolith uses Horde_Http_Client for this. And from what
> we see on your system the library uses curl.
>
> According to http://www.php.net/manual/en/function.curl-setopt.php
> CURLOPT_SSL_VERIFYPEER is turned off by default since curl 7.10.
>
> You can try paching Horde/Http/Request/Curl.php for this. Or using
> HTTP PECL extension or fopen() instead and see if this fixes your
> problem.
>
> --
> Vilius
>
Bingo.
Thank you guys. Patched Curl.php on the Horde server.
--- Curl.php.old 2012-03-20 19:34:18.000000000 +1000
+++ Curl.php 2012-03-20 19:35:39.000000000 +1000
@@ -56,6 +56,7 @@
curl_setopt($curl, CURLOPT_URL, $this->uri);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
+ curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $this->method);
curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
This is probably not an ideal fix, as it just tells curl to not test
SSL certs at all I think (?) but it works for me in this situation.
Curl on my server is 7.15, so yes, defaulting to TRUE.
How would I use the PECL_HTTP extension? Is it just a case of
installing it and enabling in php.ini? Any benefits over what I have
done?
Thanks again everyone for your help. Jan - should I log this as a bug
for further action?
Simon.
More information about the horde
mailing list