http://bugs.winehq.org/show_bug.cgi?id=16563
Summary: asn.1-decoding OIDs with only two components fails Product: Wine Version: 1.1.10 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: crypt32 AssignedTo: juan_lang@yahoo.com ReportedBy: juan_lang@yahoo.com
Spotted this while playing with the new cryptui dialogs. They're probably the easiest way to reproduce it, too.
As of today's git, to reproduce, apply the 15-patch series beginning here: http://www.winehq.org/pipermail/wine-patches/2008-December/066402.html Assuming the patches are accepted, you can use git version 1.1.11 when it comes out instead.
Steps to reproduce: 1. Find a program or write a small program that calls CryptUIDlgViewCertificateA/W (Outlook and Chrome are two examples.) 2. Switch to the "Details" tab of the "Certificate" dialog. 3. Click "Edit Properties" in the "Details" tab. 4. Click "Enable only the following purposes for this certificate" in the "Certificate Properties" dialog. 5. Click "Add Purpose". Add an OID with no more than two components in the "Add Purpose" dialog and click OK. Example OIDs: 1.1, 2.2, 1.700 6. Click OK in the "Certificate Properties" dialog. 7. Click "Edit Properties" again in the "Certificate" dialog.
Expected behavior: The OID you entered in step 5. appears in the OID list.
Actual behavior: Some random OID appears instead.
Scanning traces shows that the correct OID is passed all the way through CryptEncodeObjectEx and saved in the certificate's property list, but when it's decoded the random OID comes back from CryptDecodeObjectEx.
Assigning to myself since I wrote all of the offending code.
http://bugs.winehq.org/show_bug.cgi?id=16563
--- Comment #1 from Juan Lang juan_lang@yahoo.com 2008-12-18 18:56:58 --- Created an attachment (id=18063) --> (http://bugs.winehq.org/attachment.cgi?id=18063) Test program to help reproduce it
If you have access to a native cryptui.dll, you can reproduce it with that instead of applying the big patch series. The attached test program will help too, so you don't have to go through the trouble of installing Chrome or Outlook and figuring out how to get them to call CryptUIDlgViewCertificate.
http://bugs.winehq.org/show_bug.cgi?id=16563
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|asn.1-decoding OIDs with |asn.1-encoding OIDs with |only two components fails |only two components fails
--- Comment #2 from Juan Lang juan_lang@yahoo.com 2008-12-18 19:23:58 --- Further testing shows that the problem is in encoding the OIDs, not in decoding them. For example, setting the OID 1.1 resulted in the asn.1-encoded value: 0x06,0x03,0x29,0x01,0x01 This is, in fact, 1.1.1.1. The correct value should have been: 0x06,0x01,0x29
http://bugs.winehq.org/show_bug.cgi?id=16563
--- Comment #3 from Juan Lang juan_lang@yahoo.com 2008-12-18 19:48:12 --- Created an attachment (id=18064) --> (http://bugs.winehq.org/attachment.cgi?id=18064) Patch
This patch fixes it. It also passes all the existing tests, but it'll need one of its own.
http://bugs.winehq.org/show_bug.cgi?id=16563
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, testcase
http://bugs.winehq.org/show_bug.cgi?id=16563
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS/Version|All |other Platform|All |Other
http://bugs.winehq.org/show_bug.cgi?id=16563
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=16563
--- Comment #4 from Juan Lang juan_lang@yahoo.com 2008-12-19 11:41:26 --- Updating to today's git (or 1.1.11) will give you enough to reproduce the bug with the attached program and the steps listed, no native cryptui needed.
http://bugs.winehq.org/show_bug.cgi?id=16563
--- Comment #5 from Juan Lang juan_lang@yahoo.com 2008-12-19 17:48:23 --- Updated patch sent: http://www.winehq.org/pipermail/wine-patches/2008-December/066464.html
http://bugs.winehq.org/show_bug.cgi?id=16563
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #6 from Juan Lang juan_lang@yahoo.com 2008-12-20 11:18:24 --- Fixed in 1.1.11.
http://bugs.winehq.org/show_bug.cgi?id=16563
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Juan Lang juan_lang@yahoo.com 2008-12-20 11:18:58 --- Closing fixed.