http://bugs.winehq.org/show_bug.cgi?id=11759
--- Comment #12 from Anastasius Focht focht@gmx.net 2008-07-31 17:02:23 --- Hello,
--- quote --- I've sent an updated patch: http://www.winehq.org/pipermail/wine-patches/2008-July/058956.html The rest are unchanged. Have another go? --- quote ---
Sure ...
--- snip --- 0020:Call crypt32.CryptMsgOpenToDecode(00010001,00000000,00000000,00000000,00000000,00000000) ret=607f4c9b .. 0020:Ret crypt32.CryptMsgOpenToDecode() retval=00152888 ret=607f4c9b 0020:Call crypt32.CryptMsgUpdate(00152888,00152948,00000029,00000001) ret=607f4ccc 0020:trace:crypt:CryptMsgUpdate (0x152888, 0x152948, 41, 1) 0020:trace:crypt:CDecodeMsg_Update (0x152888, 0x152948, 41, 1) .. 0020:trace:crypt:CryptDecodeObjectEx (0x00000001, #0021, 0x14c7d8, 41, 0x00008000, (nil), 0x7ed54388, 0x7ed54384) 0020:trace:cryptasn:CRYPT_AsnDecodePKCSContentInfo 0x14c7d8, 41, 00008000, (nil), 0x7ed54388, 2127905776 0020:trace:cryptasn:CRYPT_AsnDecodePKCSContentInfoInternal 0x14c7d8, 41, 00000000, (nil), 2127905776, (nil) 0020:trace:cryptasn:CRYPT_AsnDecodeSequence 0x7ed5416c, 2, 0x14c7d8, 41, 00000000, (nil), (nil), 2127905776, (nil) 0020:trace:cryptasn:CRYPT_AsnDecodeSequence returning 0 (80093102) 0020:trace:crypt:CryptDecodeObjectEx returning 0 .. 0020:trace:wintrust:SOFTPUB_GetMessageFromFile returning 0 0020:trace:wintrust:SoftpubLoadMessage returning 1 (80093102) 0020:Ret wintrust.SoftpubLoadMessage() retval=00000001 ret=607f607a 0020:trace:wintrust:WINTRUST_DefaultVerify returning 80093102 0020:trace:wintrust:WinVerifyTrust returning 80093102 0020:Ret wintrust.WinVerifyTrust() retval=80093102 ret=0041fed8 --- snip ---
0x80093102 = CRYPT_E_ASN1_EOD
I dumped the input buffer (ASN1 sequence) for you:
--- dump --- 0x154090: 30 82 25 5a 06 09 2a 86 48 86 f7 0d 01 07 02 a0 0x1540A0: 82 25 4b 30 82 25 47 02 01 01 31 0b 30 09 06 05 0x1540B0: 2b 0e 03 02 1a 05 00 30 67 ... --- dump ---
0x30 -> universal class, constructed, tag 16 (sequence) 0x82 -> length of the contents stored in the following two bytes
0x25,0x5a -> content length is 0x255a bytes
The encoded length obviously exceeds cbEncoded (41) hence the bail out.
Regards