From: Torge Matthies openglfreak@googlemail.com
Instead of raw data. See SpcIndirectDataContent specification.
Signed-off-by: Torge Matthies openglfreak@googlemail.com --- dlls/wintrust/asn.c | 2 +- dlls/wintrust/tests/asn.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/wintrust/asn.c b/dlls/wintrust/asn.c index 7846ccb5e2e..71a2025c461 100644 --- a/dlls/wintrust/asn.c +++ b/dlls/wintrust/asn.c @@ -702,7 +702,7 @@ static BOOL WINAPI CRYPT_AsnEncodeSPCDigest(DWORD dwCertEncodingType, const struct SPCDigest *digest = pvStructInfo; struct AsnEncodeSequenceItem items[] = { { &digest->DigestAlgorithm, CRYPT_AsnEncodeAlgorithmIdWithNullParams, 0 }, - { &digest->Digest, CRYPT_CopyEncodedBlob, 0 }, + { &digest->Digest, CRYPT_AsnEncodeOctets, 0 }, };
return CRYPT_AsnEncodeSequence(X509_ASN_ENCODING, items, ARRAY_SIZE(items), diff --git a/dlls/wintrust/tests/asn.c b/dlls/wintrust/tests/asn.c index 09a00ea393a..fa0716a2d4d 100644 --- a/dlls/wintrust/tests/asn.c +++ b/dlls/wintrust/tests/asn.c @@ -578,6 +578,7 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { + todo_wine ok(size == sizeof(emptyIndirectData), "Unexpected size %ld\n", size); if (size == sizeof(emptyIndirectData)) todo_wine @@ -593,6 +594,7 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { + todo_wine ok(size == sizeof(spcidcWithOnlyDigest), "Unexpected size %ld\n", size); if (size == sizeof(spcidcWithOnlyDigest)) todo_wine @@ -607,7 +609,6 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { - todo_wine ok(size == sizeof(spcidcWithDigestAndAlgorithm), "Unexpected size %ld\n", size); if (size == sizeof(spcidcWithDigestAndAlgorithm)) @@ -624,7 +625,6 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { - todo_wine ok(size == sizeof(spcidcWithDigestAndAlgorithmParams), "Unexpected size %ld\n", size); if (size == sizeof(spcidcWithDigestAndAlgorithmParams)) @@ -640,7 +640,6 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { - todo_wine ok(size == sizeof(spcidcWithEverythingExceptDataValue), "Unexpected size %ld\n", size); if (size == sizeof(spcidcWithEverythingExceptDataValue)) @@ -657,7 +656,6 @@ static void test_encodeSPCIndirectDataContent(void) ok(ret, "CryptEncodeObjectEx failed: %08lx\n", GetLastError()); if (ret) { - todo_wine ok(size == sizeof(spcidcWithEverything), "Unexpected size %ld\n", size); if (size == sizeof(spcidcWithEverything)) ok(!memcmp(buf, spcidcWithEverything, sizeof(spcidcWithEverything)),