crypt32: CertComparePublicKeyInfo must ignore the leading zero

Juan Lang juan.lang at gmail.com
Sat Jun 28 14:21:10 CDT 2008


Hi Michael, this patch causes the chain tests to fail for me:
../../../tools/runtest -q -P wine -M crypt32.dll -T ../../.. -p
crypt32_test.exe.so chain.c && touch chain.ok
fixme:crypt:CertVerifyCertificateChainPolicy unimplemented for 0
chain.c:1769: Test failed: 13: expected 800b0109, got 800b010d
make: *** [chain.ok] Error 1

You have a typo:
+                    pblob2 = CryptMemAlloc(length);
+                    if (CryptDecodeObject(dwCertEncodingType,
RSA_CSP_PUBLICKEYBLOB,
+                            pPublicKey1->PublicKey.pbData,
pPublicKey1->PublicKey.cbData,
+                            0, pblob2, &length))
I believe you mean:
+                    pblob2 = CryptMemAlloc(length);
+                    if (CryptDecodeObject(dwCertEncodingType,
RSA_CSP_PUBLICKEYBLOB,
+                            pPublicKey2->PublicKey.pbData,
pPublicKey2->PublicKey.cbData,
+                            0, pblob2, &length))

With that change, the tests pass for me (and makecert works too.)
Would you mind fixing it and resending?
--Juan



More information about the wine-devel mailing list