http://bugs.winehq.org/show_bug.cgi?id=20370
Summary: chromium net_unittests.exe fail ssl tests because they can't check for root cert Product: Wine Version: 1.1.31 Platform: PC OS/Version: Linux Status: NEW Keywords: download, source, testcase Severity: normal Priority: P2 Component: crypt32 AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
I've placed a precompiled set of unit tests at http://kegel.com/wine/chromium/tests%7B,_data%7D.tgz
net_unittests.exe --gtest_filter=HTTPSRequestTest.HTTPSGetTest fails with [ RUN ] HTTPSRequestTest.HTTPSGetTest fixme:crypt:CertFindCertificateInStore find type 00080004 unimplemented .\url_request\url_request_unittest.cc(395): error: Value of: NULL != server.get() Actual: false Expected: true [ FAILED ] HTTPSRequestTest.HTTPSGetTest
Here's an extracted C testcase:
#undef NDEBUG #include <windows.h> #include <wincrypt.h> #include <stdio.h> #include <assert.h> #pragma comment(lib, "crypt32.lib")
int main() { HCERTSTORE cert_store; PCCERT_CONTEXT cert;
printf("Before running this test, import test cert as follows:\n\ windows: http://dev.chromium.org/developers/testing \n\ ubuntu: http://help.ubuntu.com/community/OpenSSL \n\ The cert to import into ubuntu is\n\ http://src.chromium.org/viewvc/chrome/trunk/src/net/data/ssl/certificates/ro... ");
cert_store = CertOpenSystemStoreA(NULL, "ROOT"); assert(cert_store != NULL); cert = CertFindCertificateInStore(cert_store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_ISSUER_STR, L"Test CA", NULL); if (cert) { CertFreeCertificateContext(cert); printf("Test passed.\n"); } CertCloseStore(cert_store, 0);
assert(cert != NULL); }
The commands to import that certificate on ubuntu are, from that web page, sudo cp /data/dkegel/net/data/ssl/certificates/root_ca_cert.crt /usr/share/ca-certificates/ sudo vi /etc/ca-certificates.conf (and add the line root_ca_cert.crt) sudo update-ca-certificates
I'll attach a compiled copy of the test case.
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #1 from Dan Kegel dank@kegel.com 2009-10-14 15:58:37 --- Created an attachment (id=24136) --> (http://bugs.winehq.org/attachment.cgi?id=24136) Compiled test case. Aborts on Wine.
http://bugs.winehq.org/show_bug.cgi?id=20370
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #2 from Juan Lang juan_lang@yahoo.com 2009-10-15 19:36:54 --- I have a patch to fix this that I'll send in a day or two.
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #3 from Juan Lang juan_lang@yahoo.com 2009-10-16 11:39:44 --- Created an attachment (id=24168) --> (http://bugs.winehq.org/attachment.cgi?id=24168) Patch
This fixes the bug, but I'm withholding it until I can write some test cases. Hopefully I get to it. Applies on top of the 4-patch series I sent here: http://www.winehq.org/pipermail/wine-patches/2009-October/080097.html
http://bugs.winehq.org/show_bug.cgi?id=20370
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |juan_lang@yahoo.com
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #4 from Juan Lang juan_lang@yahoo.com 2009-10-16 11:46:49 --- Created an attachment (id=24169) --> (http://bugs.winehq.org/attachment.cgi?id=24169) Program to import test cert
It also kind of bugged me to have to import the cert is a system-wide root cert, so I wrote a quick utility to import it into the Wine registry under HKCU.
Download the cert like so: wget http://src.chromium.org/viewvc/chrome/trunk/src/net/data/ssl/certificates/ro...
Compile it with: winegcc bug20370import.c -lcryptui -lcrypt32
Then run it: ./a.out
Finally you can run the test program here.
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #5 from Dan Kegel dank@kegel.com 2009-10-16 13:50:33 --- Thanks, I hope to try that soon!
(BTW, the next test that barfs in this area is net_unittests --gtest_filter=SSLClientSocketTest.Connect which complains [33003:33004:1016/110257:202424:ERROR:ssl_client_socket_win.cc(215)] AcquireCredentialsHandle failed: -2146893051 [33003:33004:1016/110257:202424:ERROR:ssl_client_socket_win.cc(466)] InitializeSecurityContext failed: -2146893055 I will file a new bug for those once we have this one sorted, if it's still happening with your patches.)
http://bugs.winehq.org/show_bug.cgi?id=20370
--- Comment #6 from Juan Lang juan_lang@yahoo.com 2009-10-19 20:05:16 --- Patches sent: http://www.winehq.org/pipermail/wine-patches/2009-October/080225.html http://www.winehq.org/pipermail/wine-patches/2009-October/080226.html
http://bugs.winehq.org/show_bug.cgi?id=20370
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #7 from Juan Lang juan_lang@yahoo.com 2009-10-20 10:43:01 --- Fixed by commit 1e424138feead8b70d4d406af92acb079f2304c0.
http://bugs.winehq.org/show_bug.cgi?id=20370
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2009-10-23 13:19:39 --- Closing bugs fixed in 1.1.32.