ChangeSet ID: 21245 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/14 05:22:34
Modified files: dlls/crypt32/tests: cert.c
Log message: Saulius Krasuckas saulius.krasuckas@ieee.org Don't call missing API function.
Patch: http://cvs.winehq.org/patch.py?id=21245
Old revision New revision Changes Path 1.12 1.13 +52 -48 wine/dlls/crypt32/tests/cert.c
Index: wine/dlls/crypt32/tests/cert.c diff -u -p wine/dlls/crypt32/tests/cert.c:1.12 wine/dlls/crypt32/tests/cert.c:1.13 --- wine/dlls/crypt32/tests/cert.c:1.12 14 Nov 2005 11:22:34 -0000 +++ wine/dlls/crypt32/tests/cert.c 14 Nov 2005 11:22:34 -0000 @@ -1469,23 +1469,25 @@ static void testVerifyCertSig(HCRYPTPROV DWORD size = 0; BOOL ret;
- ret = pCryptVerifyCertificateSignatureEx(0, 0, 0, NULL, 0, NULL, 0, NULL); - ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), - "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", - GetLastError()); - ret = pCryptVerifyCertificateSignatureEx(csp, 0, 0, NULL, 0, NULL, 0, NULL); - ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), - "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", - GetLastError()); - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, 0, NULL, 0, - NULL, 0, NULL); - ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), - "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", - GetLastError()); - /* This crashes - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, NULL, 0, NULL, 0, NULL); - */ + if(pCryptVerifyCertificateSignatureEx) { + ret = pCryptVerifyCertificateSignatureEx(0, 0, 0, NULL, 0, NULL, 0, NULL); + ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), + "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", + GetLastError()); + ret = pCryptVerifyCertificateSignatureEx(csp, 0, 0, NULL, 0, NULL, 0, NULL); + ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), + "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", + GetLastError()); + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, 0, NULL, 0, + NULL, 0, NULL); + ok(!ret && GetLastError() == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), + "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", + GetLastError()); + /* This crashes + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, NULL, 0, NULL, 0, NULL); + */ + } info.ToBeSigned.cbData = toBeSigned->cbData; info.ToBeSigned.pbData = toBeSigned->pbData; info.SignatureAlgorithm.pszObjId = (LPSTR)sigOID; @@ -1501,36 +1503,38 @@ static void testVerifyCertSig(HCRYPTPROV CRYPT_DATA_BLOB certBlob = { 0, NULL }; PCERT_PUBLIC_KEY_INFO pubKeyInfo = NULL;
- ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); - ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD, - "Expected CRYPT_E_ASN1_EOD, got %08lx\n", GetLastError()); - certBlob.cbData = 1; - certBlob.pbData = (void *)0xdeadbeef; - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); - ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION, - "Expected STATUS_ACCESS_VIOLATION, got %08lx\n", GetLastError()); - certBlob.cbData = size; - certBlob.pbData = cert; - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); - ok(!ret && GetLastError() == - HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), - "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", - GetLastError()); - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, - CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL, NULL, 0, NULL); - ok(!ret && GetLastError() == - HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), - "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", - GetLastError()); - /* This crashes - ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, - CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, - CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY, NULL, 0, NULL); - */ + if(pCryptVerifyCertificateSignatureEx) { + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); + ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD, + "Expected CRYPT_E_ASN1_EOD, got %08lx\n", GetLastError()); + certBlob.cbData = 1; + certBlob.pbData = (void *)0xdeadbeef; + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); + ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION, + "Expected STATUS_ACCESS_VIOLATION, got %08lx\n", GetLastError()); + certBlob.cbData = size; + certBlob.pbData = cert; + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, 0, NULL, 0, NULL); + ok(!ret && GetLastError() == + HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), + "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", + GetLastError()); + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, + CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL, NULL, 0, NULL); + ok(!ret && GetLastError() == + HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), + "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %08lx\n", + GetLastError()); + /* This crashes + ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, + CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob, + CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY, NULL, 0, NULL); + */ + } CryptExportPublicKeyInfoEx(csp, AT_SIGNATURE, X509_ASN_ENCODING, (LPSTR)sigOID, 0, NULL, NULL, &size); pubKeyInfo = HeapAlloc(GetProcessHeap(), 0, size); @@ -1539,7 +1543,7 @@ static void testVerifyCertSig(HCRYPTPROV ret = CryptExportPublicKeyInfoEx(csp, AT_SIGNATURE, X509_ASN_ENCODING, (LPSTR)sigOID, 0, NULL, pubKeyInfo, &size); ok(ret, "CryptExportKey failed: %08lx\n", GetLastError()); - if (ret) + if (ret && pCryptVerifyCertificateSignatureEx) { ret = pCryptVerifyCertificateSignatureEx(csp, X509_ASN_ENCODING, CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB, &certBlob,