Last modified: 2014-01-11 08:53:02 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T61910, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 59910 - curl https://git.wikimedia.org/ gives invalid certificate
curl https://git.wikimedia.org/ gives invalid certificate
Status: VERIFIED FIXED
Product: Wikimedia Labs
Classification: Unclassified
Infrastructure (Other open bugs)
unspecified
All All
: Unprioritized normal
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-10 17:16 UTC by Antoine "hashar" Musso (WMF)
Modified: 2014-01-11 08:53 UTC (History)
5 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Antoine "hashar" Musso (WMF) 2014-01-10 17:16:21 UTC
hashar@integration-selenium-driver:~$ curl https://git.wikimedia.org/
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
hashar@integration-selenium-driver:~$
Comment 1 Antoine "hashar" Musso (WMF) 2014-01-10 17:23:47 UTC
With curl in verbose mode:

hashar@integration-selenium-driver:~$ curl -v https://git.wikimedia.org/
* About to connect() to git.wikimedia.org port 443 (#0)
*   Trying 208.80.154.241... connected
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Closing connection #0
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
hashar@integration-selenium-driver:~$ 


I guess labs is missing some certificates :(
Comment 2 Gerrit Notification Bot 2014-01-10 20:40:41 UTC
Change 106771 had a related patch set uploaded by Hashar:
star.wikimedia.org cert chain fix

https://gerrit.wikimedia.org/r/106771
Comment 3 Antoine "hashar" Musso (WMF) 2014-01-10 21:44:32 UTC
Found out the same issue on production machine lanthanum.eqiad.wmnet.  It is lacking the Rapid SSL CA cert:

$ ll /etc/ssl/certs/*apid*
ls: cannot access /etc/ssl/certs/*apid*: No such file or directory
$

No chained either since that machine never had any certificate installed.
Comment 4 Antoine "hashar" Musso (WMF) 2014-01-10 21:46:51 UTC
According to the history of Jenkins job https://integration.wikimedia.org/ci/job/mwext-browsertests-UniversalLanguageSelector-phantomjs/ (which uses https://git.wikimedia.org/ ). That stopped working between Dec 10 2013 17:15 and Dec 11 2013 13:40UTC.
Comment 5 Antoine "hashar" Musso (WMF) 2014-01-10 21:51:28 UTC
Damn I was wrong! The job last success was Jan 8th 13:20 ,  first failure Jan 10th 3:37 UTC.
Comment 6 Antoine "hashar" Musso (WMF) 2014-01-10 22:06:35 UTC
Trying on lanthanum:

hashar@lanthanum:~$ openssl s_client -connect git.wikimedia.org:443
...
Certificate chain
 0 s:/serialNumber=06QcQ9dUSZqu5ru7oQSfeCpXiBccrCyh/C=US/O=*.wikimedia.org/OU=GT11518520/OU=See www.rapidssl.com/resources/cps (c)10/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikimedia.org
   i:/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
 1 s:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
$

Equifax is wrong, should be Geotrust :(
Comment 7 Antoine "hashar" Musso (WMF) 2014-01-10 22:11:32 UTC
And on my machine the chain is:

Certificate chain
 0 s:/serialNumber=06QcQ9dUSZqu5ru7oQSfeCpXiBccrCyh/C=US/O=*.wikimedia.org/OU=GT11518520/OU=See www.rapidssl.com/resources/cps (c)10/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikimedia.org
   i:/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
 1 s:/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA

(correct)
Comment 8 Gerrit Notification Bot 2014-01-10 22:40:47 UTC
Change 106785 had a related patch set uploaded by RobH:
fixes star.wikimedia.org intermidite certificate chain

https://gerrit.wikimedia.org/r/106785
Comment 9 Gerrit Notification Bot 2014-01-10 22:43:29 UTC
Change 106785 merged by RobH:
fixes star.wikimedia.org intermidite certificate chain

https://gerrit.wikimedia.org/r/106785
Comment 10 Gerrit Notification Bot 2014-01-10 22:57:36 UTC
Change 106842 had a related patch set uploaded by RobH:
install rapidssl_ca_2.pem

https://gerrit.wikimedia.org/r/106842
Comment 11 Gerrit Notification Bot 2014-01-10 22:59:54 UTC
Change 106842 merged by RobH:
install rapidssl_ca_2.pem

https://gerrit.wikimedia.org/r/106842
Comment 12 Rob Halsell 2014-01-10 23:08:39 UTC
Ok, So the two patchsets I submitted for this are linked in ticket here.  Turns out the wildcard rapidssl has two intermediate certificates, versus the non-wildcard rapidssl certs that use the single one we've had on cluster and in puppet for awhile.

I've added the second cert to our repo and included it in use for misc-web-lb.eqiad.  Now curls return correctly, folks shouldn't be getting certificate errors anymore.
Comment 13 Antoine "hashar" Musso (WMF) 2014-01-11 08:53:02 UTC
Works for me, thanks Rob.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links