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