http://bugs.winehq.org/show_bug.cgi?id=20358
--- Comment #17 from Juan Lang juan_lang@yahoo.com 2009-11-02 20:03:39 --- Figuring out the ShortIntegers test is a challenge, because the chromium tests hand build their own asn.1-encoded private key, and only produce a single bit of information for the tests: it equals the expected value, or it doesn't. It doesn't say where the difference lies.
The expected output is easy enough to see, short_integer_with_high_bit in rsa_private_key_unittest.cc. The value it's compared to isn't produced directly by Wine, however. Instead, a private key is exported in a different format, and the unit tests copy bits of pieces of this into a memory blob, along with magic asn.1 bytes. Aside from the CryptExportKey, whose value is not the final output value, none of the remaining code to produce the expected output value uses the crypto API, so a trace isn't helpful.
The relevant code is in rsa_private_key.cc's PrivateKeyInfoCode::Export function.
A simpler to understand bit of code would go a long way toward getting this fixed. Ideally it'd be a Wine regression test. I tried compiling this myself under Linux with wineg++, but I couldn't coerce it.