crypt32/tests: Get the tests running on Windows 98.
Francois Gouget
fgouget at free.fr
Tue Nov 20 06:48:48 CST 2007
---
dlls/crypt32/tests/cert.c | 109 +++++---
dlls/crypt32/tests/chain.c | 111 ++++++---
dlls/crypt32/tests/crl.c | 50 +++--
dlls/crypt32/tests/encode.c | 520 +++++++++++++++++++------------------
dlls/crypt32/tests/oid.c | 19 ++-
dlls/crypt32/tests/protectdata.c | 38 ++-
dlls/crypt32/tests/store.c | 258 ++++++++++++-------
7 files changed, 653 insertions(+), 452 deletions(-)
diff --git a/dlls/crypt32/tests/cert.c b/dlls/crypt32/tests/cert.c
index 8e4bc5d..cb3de1c 100644
--- a/dlls/crypt32/tests/cert.c
+++ b/dlls/crypt32/tests/cert.c
@@ -29,6 +29,11 @@
#include "wine/test.h"
+static BOOL (WINAPI *pCertAddStoreToCollection)(HCERTSTORE,HCERTSTORE,DWORD,DWORD);
+static PCCERT_CONTEXT (WINAPI *pCertCreateSelfSignCertificate)(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE,PCERT_NAME_BLOB,DWORD,PCRYPT_KEY_PROV_INFO,PCRYPT_ALGORITHM_IDENTIFIER,PSYSTEMTIME,PSYSTEMTIME,PCERT_EXTENSIONS);
+static BOOL (WINAPI *pCertGetValidUsages)(DWORD,PCCERT_CONTEXT*,int*,LPSTR*,DWORD*);
+static BOOL (WINAPI *pCryptAcquireCertificatePrivateKey)(PCCERT_CONTEXT,DWORD,void*,HCRYPTPROV_OR_NCRYPT_KEY_HANDLE*,DWORD*,BOOL*);
+static BOOL (WINAPI *pCryptEncodeObjectEx)(DWORD,LPCSTR,const void*,DWORD,PCRYPT_ENCODE_PARA,void*,DWORD*);
static BOOL (WINAPI * pCryptVerifyCertificateSignatureEx)
(HCRYPTPROV, DWORD, DWORD, void *, DWORD, void *, DWORD, void *);
@@ -45,6 +50,11 @@ static void init_function_pointers(void)
if(!p ## func) \
trace("GetProcAddress(%s) failed\n", #func);
+ GET_PROC(hCrypt32, CertAddStoreToCollection)
+ GET_PROC(hCrypt32, CertCreateSelfSignCertificate)
+ GET_PROC(hCrypt32, CertGetValidUsages)
+ GET_PROC(hCrypt32, CryptAcquireCertificatePrivateKey)
+ GET_PROC(hCrypt32, CryptEncodeObjectEx)
GET_PROC(hCrypt32, CryptVerifyCertificateSignatureEx)
GET_PROC(hAdvapi32, CryptAcquireContextW)
@@ -256,10 +266,10 @@ static void testAddCert(void)
collection = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
ok(collection != NULL, "CertOpenStore failed: %08x\n", GetLastError());
- if (collection)
+ if (collection && pCertAddStoreToCollection)
{
/* Add store to the collection, but disable updates */
- CertAddStoreToCollection(collection, store, 0, 0);
+ pCertAddStoreToCollection(collection, store, 0, 0);
context = CertCreateCertificateContext(X509_ASN_ENCODING, bigCert2,
sizeof(bigCert2));
@@ -1587,6 +1597,11 @@ static void testVerifyCertSig(HCRYPTPROV csp, const CRYPT_DATA_BLOB *toBeSigned,
skip("no CryptVerifyCertificateSignatureEx support\n");
return;
}
+ if (!pCryptEncodeObjectEx)
+ {
+ skip("no CryptEncodeObjectEx support\n");
+ return;
+ }
ret = pCryptVerifyCertificateSignatureEx(0, 0, 0, NULL, 0, NULL, 0, NULL);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
@@ -1608,7 +1623,7 @@ static void testVerifyCertSig(HCRYPTPROV csp, const CRYPT_DATA_BLOB *toBeSigned,
info.Signature.cbData = sigLen;
info.Signature.pbData = (BYTE *)sig;
info.Signature.cUnusedBits = 0;
- ret = CryptEncodeObjectEx(X509_ASN_ENCODING, X509_CERT, &info,
+ ret = pCryptEncodeObjectEx(X509_ASN_ENCODING, X509_CERT, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&cert, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (cert)
@@ -1791,13 +1806,19 @@ static void testCreateSelfSignCert(void)
HCRYPTKEY key;
CRYPT_KEY_PROV_INFO info;
+ if (!pCertCreateSelfSignCertificate)
+ {
+ skip("CertCreateSelfSignCertificate() is not available\n");
+ return;
+ }
+
/* This crashes:
- context = CertCreateSelfSignCertificate(0, NULL, 0, NULL, NULL, NULL, NULL,
+ context = pCertCreateSelfSignCertificate(0, NULL, 0, NULL, NULL, NULL, NULL,
NULL);
* Calling this with no first parameter creates a new key container, which
* lasts beyond the test, so I don't test that. Nb: the generated key
* name is a GUID.
- context = CertCreateSelfSignCertificate(0, &name, 0, NULL, NULL, NULL, NULL,
+ context = pCertCreateSelfSignCertificate(0, &name, 0, NULL, NULL, NULL, NULL,
NULL);
*/
@@ -1808,7 +1829,7 @@ static void testCreateSelfSignCert(void)
CRYPT_NEWKEYSET);
ok(ret, "CryptAcquireContext failed: %08x\n", GetLastError());
- context = CertCreateSelfSignCertificate(csp, &name, 0, NULL, NULL, NULL,
+ context = pCertCreateSelfSignCertificate(csp, &name, 0, NULL, NULL, NULL,
NULL, NULL);
ok(!context && GetLastError() == NTE_NO_KEY,
"Expected NTE_NO_KEY, got %08x\n", GetLastError());
@@ -1816,7 +1837,7 @@ static void testCreateSelfSignCert(void)
ok(ret, "CryptGenKey failed: %08x\n", GetLastError());
if (ret)
{
- context = CertCreateSelfSignCertificate(csp, &name, 0, NULL, NULL, NULL,
+ context = pCertCreateSelfSignCertificate(csp, &name, 0, NULL, NULL, NULL,
NULL, NULL);
ok(context != NULL, "CertCreateSelfSignCertificate failed: %08x\n",
GetLastError());
@@ -1868,7 +1889,7 @@ static void testCreateSelfSignCert(void)
info.dwKeySpec = AT_KEYEXCHANGE;
info.pwszProvName = (LPWSTR) MS_DEF_PROV_W;
info.pwszContainerName = cspNameW;
- context = CertCreateSelfSignCertificate(0, &name, 0, &info, NULL, NULL,
+ context = pCertCreateSelfSignCertificate(0, &name, 0, &info, NULL, NULL,
NULL, NULL);
ok(context != NULL, "CertCreateSelfSignCertificate failed: %08x\n",
GetLastError());
@@ -2220,14 +2241,20 @@ static void testGetValidUsages(void)
LPSTR *oids = NULL;
PCCERT_CONTEXT contexts[3];
+ if (!pCertGetValidUsages)
+ {
+ skip("CertGetValidUsages() is not available\n");
+ return;
+ }
+
/* Crash
- ret = CertGetValidUsages(0, NULL, NULL, NULL, NULL);
- ret = CertGetValidUsages(0, NULL, NULL, NULL, &size);
+ ret = pCertGetValidUsages(0, NULL, NULL, NULL, NULL);
+ ret = pCertGetValidUsages(0, NULL, NULL, NULL, &size);
*/
contexts[0] = NULL;
numOIDs = size = 0xdeadbeef;
SetLastError(0xdeadbeef);
- ret = CertGetValidUsages(1, &contexts[0], &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(1, &contexts[0], &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %d\n", GetLastError());
ok(numOIDs == -1, "Expected -1, got %d\n", numOIDs);
ok(size == 0, "Expected size 0, got %d\n", size);
@@ -2238,16 +2265,16 @@ static void testGetValidUsages(void)
contexts[2] = CertCreateCertificateContext(X509_ASN_ENCODING,
cert2WithUsage, sizeof(cert2WithUsage));
numOIDs = size = 0xdeadbeef;
- ret = CertGetValidUsages(0, NULL, &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(0, NULL, &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == -1, "Expected -1, got %d\n", numOIDs);
ok(size == 0, "Expected size 0, got %d\n", size);
numOIDs = size = 0xdeadbeef;
- ret = CertGetValidUsages(1, contexts, &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(1, contexts, &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == -1, "Expected -1, got %d\n", numOIDs);
ok(size == 0, "Expected size 0, got %d\n", size);
- ret = CertGetValidUsages(1, &contexts[1], &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(1, &contexts[1], &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == 3, "Expected 3, got %d\n", numOIDs);
ok(size, "Expected non-zero size\n");
@@ -2258,10 +2285,10 @@ static void testGetValidUsages(void)
DWORD smallSize = 1;
SetLastError(0xdeadbeef);
- ret = CertGetValidUsages(1, &contexts[1], &numOIDs, oids, &smallSize);
+ ret = pCertGetValidUsages(1, &contexts[1], &numOIDs, oids, &smallSize);
ok(!ret && GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
- ret = CertGetValidUsages(1, &contexts[1], &numOIDs, oids, &size);
+ ret = pCertGetValidUsages(1, &contexts[1], &numOIDs, oids, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
for (i = 0; i < numOIDs; i++)
ok(!lstrcmpA(oids[i], expectedOIDs[i]), "unexpected OID %s\n",
@@ -2270,11 +2297,11 @@ static void testGetValidUsages(void)
}
numOIDs = size = 0xdeadbeef;
/* Oddly enough, this crashes when the number of contexts is not 1:
- ret = CertGetValidUsages(2, contexts, &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(2, contexts, &numOIDs, NULL, &size);
* but setting size to 0 allows it to succeed:
*/
size = 0;
- ret = CertGetValidUsages(2, contexts, &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(2, contexts, &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == 3, "Expected 3, got %d\n", numOIDs);
ok(size, "Expected non-zero size\n");
@@ -2283,7 +2310,7 @@ static void testGetValidUsages(void)
{
int i;
- ret = CertGetValidUsages(1, &contexts[1], &numOIDs, oids, &size);
+ ret = pCertGetValidUsages(1, &contexts[1], &numOIDs, oids, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
for (i = 0; i < numOIDs; i++)
ok(!lstrcmpA(oids[i], expectedOIDs[i]), "unexpected OID %s\n",
@@ -2292,7 +2319,7 @@ static void testGetValidUsages(void)
}
numOIDs = 0xdeadbeef;
size = 0;
- ret = CertGetValidUsages(1, &contexts[2], &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(1, &contexts[2], &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == 2, "Expected 2, got %d\n", numOIDs);
ok(size, "Expected non-zero size\n");
@@ -2301,7 +2328,7 @@ static void testGetValidUsages(void)
{
int i;
- ret = CertGetValidUsages(1, &contexts[2], &numOIDs, oids, &size);
+ ret = pCertGetValidUsages(1, &contexts[2], &numOIDs, oids, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
for (i = 0; i < numOIDs; i++)
ok(!lstrcmpA(oids[i], expectedOIDs2[i]), "unexpected OID %s\n",
@@ -2310,7 +2337,7 @@ static void testGetValidUsages(void)
}
numOIDs = 0xdeadbeef;
size = 0;
- ret = CertGetValidUsages(3, contexts, &numOIDs, NULL, &size);
+ ret = pCertGetValidUsages(3, contexts, &numOIDs, NULL, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
ok(numOIDs == 2, "Expected 2, got %d\n", numOIDs);
ok(size, "Expected non-zero size\n");
@@ -2319,7 +2346,7 @@ static void testGetValidUsages(void)
{
int i;
- ret = CertGetValidUsages(3, contexts, &numOIDs, oids, &size);
+ ret = pCertGetValidUsages(3, contexts, &numOIDs, oids, &size);
ok(ret, "CertGetValidUsages failed: %08x\n", GetLastError());
for (i = 0; i < numOIDs; i++)
ok(!lstrcmpA(oids[i], expectedOIDs2[i]), "unexpected OID %s\n",
@@ -2679,6 +2706,12 @@ static void testAcquireCertPrivateKey(void)
HCRYPTKEY key;
WCHAR ms_def_prov_w[MAX_PATH];
+ if (!pCryptAcquireCertificatePrivateKey)
+ {
+ skip("CryptAcquireCertificatePrivateKey() is not available\n");
+ return;
+ }
+
lstrcpyW(ms_def_prov_w, MS_DEF_PROV_W);
keyProvInfo.pwszContainerName = cspNameW;
@@ -2696,28 +2729,28 @@ static void testAcquireCertPrivateKey(void)
sizeof(selfSignedCert));
/* Crash
- ret = CryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, NULL, NULL);
- ret = CryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, NULL,
+ ret = pCryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, NULL, NULL);
+ ret = pCryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, NULL,
&callerFree);
- ret = CryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, &keySpec,
+ ret = pCryptAcquireCertificatePrivateKey(NULL, 0, NULL, NULL, &keySpec,
NULL);
- ret = CryptAcquireCertificatePrivateKey(NULL, 0, NULL, &csp, NULL, NULL);
- ret = CryptAcquireCertificatePrivateKey(NULL, 0, NULL, &csp, &keySpec,
+ ret = pCryptAcquireCertificatePrivateKey(NULL, 0, NULL, &csp, NULL, NULL);
+ ret = pCryptAcquireCertificatePrivateKey(NULL, 0, NULL, &csp, &keySpec,
&callerFree);
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, NULL, NULL, NULL);
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, NULL, NULL, NULL);
*/
/* Missing private key */
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, NULL, NULL);
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, NULL, NULL);
ok(!ret && GetLastError() == CRYPT_E_NO_KEY_PROPERTY,
"Expected CRYPT_E_NO_KEY_PROPERTY, got %08x\n", GetLastError());
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, &keySpec,
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, &keySpec,
&callerFree);
ok(!ret && GetLastError() == CRYPT_E_NO_KEY_PROPERTY,
"Expected CRYPT_E_NO_KEY_PROPERTY, got %08x\n", GetLastError());
CertSetCertificateContextProperty(cert, CERT_KEY_PROV_INFO_PROP_ID, 0,
&keyProvInfo);
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, &keySpec,
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, &csp, &keySpec,
&callerFree);
ok(!ret && GetLastError() == CRYPT_E_NO_KEY_PROPERTY,
"Expected CRYPT_E_NO_KEY_PROPERTY, got %08x\n", GetLastError());
@@ -2733,20 +2766,20 @@ static void testAcquireCertPrivateKey(void)
CERT_KEY_CONTEXT keyContext;
/* Don't cache provider */
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, &certCSP,
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, &certCSP,
&keySpec, &callerFree);
ok(ret, "CryptAcquireCertificatePrivateKey failed: %08x\n",
GetLastError());
ok(callerFree, "Expected callerFree to be TRUE\n");
CryptReleaseContext(certCSP, 0);
- ret = CryptAcquireCertificatePrivateKey(cert, 0, NULL, &certCSP,
+ ret = pCryptAcquireCertificatePrivateKey(cert, 0, NULL, &certCSP,
NULL, NULL);
ok(ret, "CryptAcquireCertificatePrivateKey failed: %08x\n",
GetLastError());
CryptReleaseContext(certCSP, 0);
/* Use the key prov info's caching (there shouldn't be any) */
- ret = CryptAcquireCertificatePrivateKey(cert,
+ ret = pCryptAcquireCertificatePrivateKey(cert,
CRYPT_ACQUIRE_USE_PROV_INFO_FLAG, NULL, &certCSP, &keySpec,
&callerFree);
ok(ret, "CryptAcquireCertificatePrivateKey failed: %08x\n",
@@ -2755,7 +2788,7 @@ static void testAcquireCertPrivateKey(void)
CryptReleaseContext(certCSP, 0);
/* Cache it (and check that it's cached) */
- ret = CryptAcquireCertificatePrivateKey(cert,
+ ret = pCryptAcquireCertificatePrivateKey(cert,
CRYPT_ACQUIRE_CACHE_FLAG, NULL, &certCSP, &keySpec, &callerFree);
ok(ret, "CryptAcquireCertificatePrivateKey failed: %08x\n",
GetLastError());
@@ -2775,7 +2808,7 @@ static void testAcquireCertPrivateKey(void)
CertSetCertificateContextProperty(cert, CERT_KEY_PROV_INFO_PROP_ID, 0,
&keyProvInfo);
/* Now use the key prov info's caching */
- ret = CryptAcquireCertificatePrivateKey(cert,
+ ret = pCryptAcquireCertificatePrivateKey(cert,
CRYPT_ACQUIRE_USE_PROV_INFO_FLAG, NULL, &certCSP, &keySpec,
&callerFree);
ok(ret, "CryptAcquireCertificatePrivateKey failed: %08x\n",
@@ -2808,7 +2841,7 @@ static void testAcquireCertPrivateKey(void)
ok(size == sizeof(exportedPublicKeyBlob), "Unexpected size %d\n",
size);
ok(!memcmp(buf, exportedPublicKeyBlob, size), "Unexpected value\n");
- ret = CryptEncodeObjectEx(X509_ASN_ENCODING, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(X509_ASN_ENCODING, RSA_CSP_PUBLICKEYBLOB,
buf, CRYPT_ENCODE_ALLOC_FLAG, NULL, &encodedKey, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
diff --git a/dlls/crypt32/tests/chain.c b/dlls/crypt32/tests/chain.c
index 0257c3e..91cae47 100644
--- a/dlls/crypt32/tests/chain.c
+++ b/dlls/crypt32/tests/chain.c
@@ -52,6 +52,13 @@ static const BYTE selfSignedCert[] = {
0x0a, 0x8c, 0xb4, 0x5c, 0x34, 0x78, 0xe0, 0x3c, 0x9c, 0xe9, 0xf3, 0x30, 0x9f,
0xa8, 0x76, 0x57, 0x92, 0x36 };
+static BOOL (WINAPI *pCertCreateCertificateChainEngine)(PCERT_CHAIN_ENGINE_CONFIG,HCERTCHAINENGINE*);
+static BOOL (WINAPI *pCertGetCertificateChain)(HCERTCHAINENGINE,PCCERT_CONTEXT,LPFILETIME,HCERTSTORE,PCERT_CHAIN_PARA,DWORD,LPVOID,PCCERT_CHAIN_CONTEXT*);
+static VOID (WINAPI *pCertFreeCertificateChain)(PCCERT_CHAIN_CONTEXT);
+static VOID (WINAPI *pCertFreeCertificateChainEngine)(HCERTCHAINENGINE);
+static BOOL (WINAPI *pCertVerifyCertificateChainPolicy)(LPCSTR,PCCERT_CHAIN_CONTEXT,PCERT_CHAIN_POLICY_PARA,PCERT_CHAIN_POLICY_STATUS);
+
+
static void testCreateCertChainEngine(void)
{
BOOL ret;
@@ -59,43 +66,49 @@ static void testCreateCertChainEngine(void)
HCERTCHAINENGINE engine;
HCERTSTORE store;
+ if (!pCertCreateCertificateChainEngine || !pCertFreeCertificateChainEngine)
+ {
+ skip("Cert*CertificateChainEngine() functions are not available\n");
+ return;
+ }
+
/* Crash
- ret = CertCreateCertificateChainEngine(NULL, NULL);
- ret = CertCreateCertificateChainEngine(NULL, &engine);
+ ret = pCertCreateCertificateChainEngine(NULL, NULL);
+ ret = pCertCreateCertificateChainEngine(NULL, &engine);
*/
- ret = CertCreateCertificateChainEngine(&config, NULL);
+ ret = pCertCreateCertificateChainEngine(&config, NULL);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
- ret = CertCreateCertificateChainEngine(&config, &engine);
+ ret = pCertCreateCertificateChainEngine(&config, &engine);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Crashes
config.cbSize = sizeof(config);
- ret = CertCreateCertificateChainEngine(&config, NULL);
+ ret = pCertCreateCertificateChainEngine(&config, NULL);
*/
config.cbSize = sizeof(config);
- ret = CertCreateCertificateChainEngine(&config, &engine);
+ ret = pCertCreateCertificateChainEngine(&config, &engine);
ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
- CertFreeCertificateChainEngine(engine);
+ pCertFreeCertificateChainEngine(engine);
config.dwFlags = 0xff000000;
- ret = CertCreateCertificateChainEngine(&config, &engine);
+ ret = pCertCreateCertificateChainEngine(&config, &engine);
ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
- CertFreeCertificateChainEngine(engine);
+ pCertFreeCertificateChainEngine(engine);
/* Creating a cert with no root certs at all is allowed.. */
store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
config.hRestrictedRoot = store;
- ret = CertCreateCertificateChainEngine(&config, &engine);
+ ret = pCertCreateCertificateChainEngine(&config, &engine);
ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
- CertFreeCertificateChainEngine(engine);
+ pCertFreeCertificateChainEngine(engine);
/* but creating one with a restricted root with a cert that isn't a member
* of the Root store isn't allowed.
*/
CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING, selfSignedCert,
sizeof(selfSignedCert), CERT_STORE_ADD_ALWAYS, NULL);
- ret = CertCreateCertificateChainEngine(&config, &engine);
+ ret = pCertCreateCertificateChainEngine(&config, &engine);
ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
@@ -1129,7 +1142,7 @@ static PCCERT_CHAIN_CONTEXT getChain(const CONST_BLOB_ARRAY *certArray,
FILETIME fileTime;
SystemTimeToFileTime(checkTime, &fileTime);
- ret = CertGetCertificateChain(NULL, endCert, &fileTime,
+ ret = pCertGetCertificateChain(NULL, endCert, &fileTime,
includeStore ? store : NULL, &chainPara, flags, NULL, &chain);
if (todo & TODO_CHAIN)
todo_wine ok(ret, "Chain %d: CertGetCertificateChain failed: %08x\n",
@@ -1566,36 +1579,36 @@ static void testGetCertChain(void)
DWORD i;
/* Basic parameter checks */
- ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL);
+ ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
- ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL,
+ ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL,
&chain);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Crash
- ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, ¶, 0, NULL, NULL);
- ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, ¶, 0, NULL,
+ ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, ¶, 0, NULL, NULL);
+ ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, ¶, 0, NULL,
&chain);
*/
cert = CertCreateCertificateContext(X509_ASN_ENCODING, bigCert,
sizeof(bigCert));
- ret = CertGetCertificateChain(NULL, cert, NULL, NULL, NULL, 0, NULL, NULL);
+ ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, NULL, 0, NULL, NULL);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Crash
- ret = CertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL, NULL);
+ ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL, NULL);
*/
/* Tests with an invalid cert (one whose signature is bad) */
SetLastError(0xdeadbeef);
- ret = CertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL,
+ ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL,
&chain);
ok(!ret && GetLastError() == ERROR_INVALID_DATA,
"Expected ERROR_INVALID_DATA, got %d\n", GetLastError());
para.cbSize = sizeof(para);
SetLastError(0xdeadbeef);
- ret = CertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL,
+ ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, ¶, 0, NULL,
&chain);
ok(!ret && GetLastError() == ERROR_INVALID_DATA,
"Expected ERROR_INVALID_DATA, got %d\n", GetLastError());
@@ -1609,7 +1622,7 @@ static void testGetCertChain(void)
{
checkChainStatus(chain, &chainCheck[i].status, chainCheck[i].todo,
i);
- CertFreeCertificateChain(chain);
+ pCertFreeCertificateChain(chain);
}
}
for (i = 0; i < sizeof(chainCheckNoStore) / sizeof(chainCheckNoStore[0]);
@@ -1621,7 +1634,7 @@ static void testGetCertChain(void)
{
checkChainStatus(chain, &chainCheckNoStore[i].status,
chainCheckNoStore[i].todo, i);
- CertFreeCertificateChain(chain);
+ pCertFreeCertificateChain(chain);
}
}
}
@@ -1737,7 +1750,7 @@ static void checkChainPolicyStatus(LPCSTR policy, ChainPolicyCheck *check,
if (chain)
{
CERT_CHAIN_POLICY_STATUS policyStatus = { 0 };
- BOOL ret = CertVerifyCertificateChainPolicy(policy, chain, NULL,
+ BOOL ret = pCertVerifyCertificateChainPolicy(policy, chain, NULL,
&policyStatus);
if (check->todo & TODO_POLICY)
@@ -1775,7 +1788,7 @@ static void checkChainPolicyStatus(LPCSTR policy, ChainPolicyCheck *check,
"%d: expected %d, got %d\n", testIndex,
check->status.lElementIndex, policyStatus.lElementIndex);
}
- CertFreeCertificateChain(chain);
+ pCertFreeCertificateChain(chain);
}
}
@@ -1789,34 +1802,40 @@ static void testVerifyCertChainPolicy(void)
CERT_CHAIN_POLICY_PARA policyPara = { 0 };
DWORD i;
+ if (!pCertVerifyCertificateChainPolicy)
+ {
+ skip("CertVerifyCertificateChainPolicy() is not available\n");
+ return;
+ }
+
/* Crash
- ret = CertVerifyCertificateChainPolicy(NULL, NULL, NULL, NULL);
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
+ ret = pCertVerifyCertificateChainPolicy(NULL, NULL, NULL, NULL);
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
NULL);
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL,
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL,
&chainPara, NULL);
*/
SetLastError(0xdeadbeef);
- ret = CertVerifyCertificateChainPolicy(NULL, NULL, NULL, &policyStatus);
+ ret = pCertVerifyCertificateChainPolicy(NULL, NULL, NULL, &policyStatus);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
/* Crashes
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
&policyStatus);
*/
cert = CertCreateCertificateContext(X509_ASN_ENCODING, selfSignedCert,
sizeof(selfSignedCert));
- CertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL,
+ pCertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL,
&chain);
/* Crash
- ret = CertVerifyCertificateChainPolicy(NULL, chain, NULL, NULL);
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
+ ret = pCertVerifyCertificateChainPolicy(NULL, chain, NULL, NULL);
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
NULL);
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
&chainPara, NULL);
*/
/* Size of policy status is apparently ignored, as is pChainPolicyPara */
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
&policyStatus);
ok(ret, "CertVerifyCertificateChainPolicy failed: %08x\n", GetLastError());
ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT,
@@ -1824,7 +1843,7 @@ static void testVerifyCertChainPolicy(void)
ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
"Expected both indexes 0, got %d, %d\n", policyStatus.lChainIndex,
policyStatus.lElementIndex);
- ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
+ ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
&policyPara, &policyStatus);
ok(ret, "CertVerifyCertificateChainPolicy failed: %08x\n", GetLastError());
ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT,
@@ -1832,7 +1851,7 @@ static void testVerifyCertChainPolicy(void)
ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
"Expected both indexes 0, got %d, %d\n", policyStatus.lChainIndex,
policyStatus.lElementIndex);
- CertFreeCertificateChain(chain);
+ pCertFreeCertificateChain(chain);
CertFreeCertificateContext(cert);
for (i = 0;
@@ -1855,7 +1874,21 @@ static void testVerifyCertChainPolicy(void)
START_TEST(chain)
{
+ HMODULE hCrypt32 = GetModuleHandleA("crypt32.dll");
+ pCertCreateCertificateChainEngine = (void*)GetProcAddress(hCrypt32, "CertCreateCertificateChainEngine");
+ pCertGetCertificateChain = (void*)GetProcAddress(hCrypt32, "CertGetCertificateChain");
+ pCertFreeCertificateChain = (void*)GetProcAddress(hCrypt32, "CertFreeCertificateChain");
+ pCertFreeCertificateChainEngine = (void*)GetProcAddress(hCrypt32, "CertFreeCertificateChainEngine");
+ pCertVerifyCertificateChainPolicy = (void*)GetProcAddress(hCrypt32, "CertVerifyCertificateChainPolicy");
+
testCreateCertChainEngine();
- testVerifyCertChainPolicy();
- testGetCertChain();
+ if (!pCertGetCertificateChain)
+ {
+ skip("CertGetCertificateChain() is not available\n");
+ }
+ else
+ {
+ testVerifyCertChainPolicy();
+ testGetCertChain();
+ }
}
diff --git a/dlls/crypt32/tests/crl.c b/dlls/crypt32/tests/crl.c
index 7ecf6d4..3a65c7d 100644
--- a/dlls/crypt32/tests/crl.c
+++ b/dlls/crypt32/tests/crl.c
@@ -29,6 +29,7 @@
#include "wine/test.h"
+
static const BYTE bigCert[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22,
@@ -76,11 +77,15 @@ static const BYTE signedCRL[] = { 0x30, 0x45, 0x30, 0x2c, 0x30, 0x02, 0x06,
0x30, 0x5a, 0x30, 0x02, 0x06, 0x00, 0x03, 0x11, 0x00, 0x0f, 0x0e, 0x0d, 0x0c,
0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 };
+static BOOL (WINAPI *pCertFindCertificateInCRL)(PCCERT_CONTEXT,PCCRL_CONTEXT,DWORD,void*,PCRL_ENTRY*);
+static PCCRL_CONTEXT (WINAPI *pCertFindCRLInStore)(HCERTSTORE,DWORD,DWORD,DWORD,const void*,PCCRL_CONTEXT);
static BOOL (WINAPI *pCertIsValidCRLForCertificate)(PCCERT_CONTEXT, PCCRL_CONTEXT, DWORD, void*);
static void init_function_pointers(void)
{
HMODULE hdll = GetModuleHandleA("crypt32.dll");
+ pCertFindCertificateInCRL = (void*)GetProcAddress(hdll, "CertFindCertificateInCRL");
+ pCertFindCRLInStore = (void*)GetProcAddress(hdll, "CertFindCRLInStore");
pCertIsValidCRLForCertificate = (void*)GetProcAddress(hdll, "CertIsValidCRLForCertificate");
}
@@ -205,33 +210,38 @@ static void testFindCRL(void)
BOOL ret;
if (!store) return;
+ if (!pCertFindCRLInStore)
+ {
+ skip("CertFindCRLInStore() is not available\n");
+ return;
+ }
ret = CertAddEncodedCRLToStore(store, X509_ASN_ENCODING, signedCRL,
sizeof(signedCRL), CERT_STORE_ADD_ALWAYS, NULL);
ok(ret, "CertAddEncodedCRLToStore failed: %08x\n", GetLastError());
/* Crashes
- context = CertFindCRLInStore(NULL, 0, 0, 0, NULL, NULL);
+ context = pCertFindCRLInStore(NULL, 0, 0, 0, NULL, NULL);
*/
/* Find any context */
- context = CertFindCRLInStore(store, 0, 0, CRL_FIND_ANY, NULL, NULL);
+ context = pCertFindCRLInStore(store, 0, 0, CRL_FIND_ANY, NULL, NULL);
ok(context != NULL, "Expected a context\n");
if (context)
CertFreeCRLContext(context);
/* Bogus flags are ignored */
- context = CertFindCRLInStore(store, 0, 1234, CRL_FIND_ANY, NULL, NULL);
+ context = pCertFindCRLInStore(store, 0, 1234, CRL_FIND_ANY, NULL, NULL);
ok(context != NULL, "Expected a context\n");
if (context)
CertFreeCRLContext(context);
/* CRL encoding type is ignored too */
- context = CertFindCRLInStore(store, 1234, 0, CRL_FIND_ANY, NULL, NULL);
+ context = pCertFindCRLInStore(store, 1234, 0, CRL_FIND_ANY, NULL, NULL);
ok(context != NULL, "Expected a context\n");
if (context)
CertFreeCRLContext(context);
/* This appears to match any cert */
- context = CertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, NULL, NULL);
+ context = pCertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, NULL, NULL);
ok(context != NULL, "Expected a context\n");
if (context)
CertFreeCRLContext(context);
@@ -241,7 +251,7 @@ static void testFindCRL(void)
sizeof(bigCert2));
ok(cert != NULL, "CertCreateCertificateContext failed: %08x\n",
GetLastError());
- context = CertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, cert, NULL);
+ context = pCertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, cert, NULL);
ok(context == NULL, "Expected no matching context\n");
CertFreeCertificateContext(cert);
@@ -250,7 +260,7 @@ static void testFindCRL(void)
sizeof(bigCert));
ok(cert != NULL, "CertCreateCertificateContext failed: %08x\n",
GetLastError());
- context = CertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, cert, NULL);
+ context = pCertFindCRLInStore(store, 0, 0, CRL_FIND_ISSUED_BY, cert, NULL);
ok(context != NULL, "Expected a context\n");
if (context)
CertFreeCRLContext(context);
@@ -600,31 +610,37 @@ static void testFindCertInCRL(void)
PCCRL_CONTEXT crl;
PCRL_ENTRY entry;
+ if (!pCertFindCertificateInCRL)
+ {
+ skip("CertFindCertificateInCRL() is not available\n");
+ return;
+ }
+
cert = CertCreateCertificateContext(X509_ASN_ENCODING, bigCert,
sizeof(bigCert));
ok(cert != NULL, "CertCreateCertificateContext failed: %08x\n",
GetLastError());
/* Crash
- ret = CertFindCertificateInCRL(NULL, NULL, 0, NULL, NULL);
- ret = CertFindCertificateInCRL(NULL, crl, 0, NULL, NULL);
- ret = CertFindCertificateInCRL(cert, NULL, 0, NULL, NULL);
- ret = CertFindCertificateInCRL(cert, crl, 0, NULL, NULL);
- ret = CertFindCertificateInCRL(NULL, NULL, 0, NULL, &entry);
- ret = CertFindCertificateInCRL(NULL, crl, 0, NULL, &entry);
- ret = CertFindCertificateInCRL(cert, NULL, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(NULL, NULL, 0, NULL, NULL);
+ ret = pCertFindCertificateInCRL(NULL, crl, 0, NULL, NULL);
+ ret = pCertFindCertificateInCRL(cert, NULL, 0, NULL, NULL);
+ ret = pCertFindCertificateInCRL(cert, crl, 0, NULL, NULL);
+ ret = pCertFindCertificateInCRL(NULL, NULL, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(NULL, crl, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(cert, NULL, 0, NULL, &entry);
*/
crl = CertCreateCRLContext(X509_ASN_ENCODING, verisignCRL,
sizeof(verisignCRL));
- ret = CertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
ok(ret, "CertFindCertificateInCRL failed: %08x\n", GetLastError());
ok(entry == NULL, "Expected not to find an entry in CRL\n");
CertFreeCRLContext(crl);
crl = CertCreateCRLContext(X509_ASN_ENCODING, v1CRLWithIssuerAndEntry,
sizeof(v1CRLWithIssuerAndEntry));
- ret = CertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
ok(ret, "CertFindCertificateInCRL failed: %08x\n", GetLastError());
ok(entry != NULL, "Expected to find an entry in CRL\n");
CertFreeCRLContext(crl);
@@ -632,7 +648,7 @@ static void testFindCertInCRL(void)
/* Entry found even though CRL issuer doesn't match cert issuer */
crl = CertCreateCRLContext(X509_ASN_ENCODING, crlWithDifferentIssuer,
sizeof(crlWithDifferentIssuer));
- ret = CertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
+ ret = pCertFindCertificateInCRL(cert, crl, 0, NULL, &entry);
ok(ret, "CertFindCertificateInCRL failed: %08x\n", GetLastError());
ok(entry != NULL, "Expected to find an entry in CRL\n");
CertFreeCRLContext(crl);
diff --git a/dlls/crypt32/tests/encode.c b/dlls/crypt32/tests/encode.c
index a06531c..f55be1c 100644
--- a/dlls/crypt32/tests/encode.c
+++ b/dlls/crypt32/tests/encode.c
@@ -26,6 +26,10 @@
#include "wine/test.h"
+
+static BOOL (WINAPI *pCryptDecodeObjectEx)(DWORD,LPCSTR,const BYTE*,DWORD,DWORD,PCRYPT_DECODE_PARA,void*,DWORD*);
+static BOOL (WINAPI *pCryptEncodeObjectEx)(DWORD,LPCSTR,const void*,DWORD,PCRYPT_ENCODE_PARA,void*,DWORD*);
+
struct encodedInt
{
int val;
@@ -90,28 +94,28 @@ static void test_encodeInt(DWORD dwEncoding)
BYTE *buf = NULL;
/* CryptEncodeObjectEx with NULL bufSize crashes..
- ret = CryptEncodeObjectEx(3, X509_INTEGER, &ints[0].val, 0, NULL, NULL,
+ ret = pCryptEncodeObjectEx(3, X509_INTEGER, &ints[0].val, 0, NULL, NULL,
NULL);
*/
/* check bogus encoding */
- ret = CryptEncodeObjectEx(0, X509_INTEGER, &ints[0].val, 0, NULL, NULL,
+ ret = pCryptEncodeObjectEx(0, X509_INTEGER, &ints[0].val, 0, NULL, NULL,
&bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError());
/* check with NULL integer buffer. Windows XP incorrectly returns an
* NTSTATUS.
*/
- ret = CryptEncodeObjectEx(dwEncoding, X509_INTEGER, NULL, 0, NULL, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_INTEGER, NULL, 0, NULL, NULL,
&bufSize);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
for (i = 0; i < sizeof(ints) / sizeof(ints[0]); i++)
{
/* encode as normal integer */
- ret = CryptEncodeObjectEx(dwEncoding, X509_INTEGER, &ints[i].val, 0,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_INTEGER, &ints[i].val, 0,
NULL, NULL, &bufSize);
ok(ret, "Expected success, got %d\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, X509_INTEGER, &ints[i].val,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_INTEGER, &ints[i].val,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
if (buf)
@@ -127,10 +131,10 @@ static void test_encodeInt(DWORD dwEncoding)
/* encode as multibyte integer */
blob.cbData = sizeof(ints[i].val);
blob.pbData = (BYTE *)&ints[i].val;
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
0, NULL, NULL, &bufSize);
ok(ret, "Expected success, got %d\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
if (buf)
@@ -151,10 +155,10 @@ static void test_encodeInt(DWORD dwEncoding)
{
blob.cbData = strlen((const char*)bigInts[i].val);
blob.pbData = (BYTE *)bigInts[i].val;
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
0, NULL, NULL, &bufSize);
ok(ret, "Expected success, got %d\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, &blob,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
if (buf)
@@ -174,10 +178,10 @@ static void test_encodeInt(DWORD dwEncoding)
{
blob.cbData = strlen((const char*)bigUInts[i].val);
blob.pbData = (BYTE*)bigUInts[i].val;
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT, &blob,
0, NULL, NULL, &bufSize);
ok(ret, "Expected success, got %d\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT, &blob,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
if (buf)
@@ -207,26 +211,26 @@ static void test_decodeInt(DWORD dwEncoding)
BOOL ret;
/* CryptDecodeObjectEx with NULL bufSize crashes..
- ret = CryptDecodeObjectEx(3, X509_INTEGER, &ints[0].encoded,
+ ret = pCryptDecodeObjectEx(3, X509_INTEGER, &ints[0].encoded,
ints[0].encoded[1] + 2, 0, NULL, NULL, NULL);
*/
/* check bogus encoding */
- ret = CryptDecodeObjectEx(3, X509_INTEGER, (BYTE *)&ints[0].encoded,
+ ret = pCryptDecodeObjectEx(3, X509_INTEGER, (BYTE *)&ints[0].encoded,
ints[0].encoded[1] + 2, 0, NULL, NULL, &bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError());
/* check with NULL integer buffer */
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER, NULL, 0, 0, NULL, NULL,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER, NULL, 0, 0, NULL, NULL,
&bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
"Expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
/* check with a valid, but too large, integer */
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER, bigInt, bigInt[1] + 2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER, bigInt, bigInt[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_LARGE,
"Expected CRYPT_E_ASN1_LARGE, got %d\n", GetLastError());
/* check with a DER-encoded string */
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER, testStr, testStr[1] + 2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER, testStr, testStr[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_BADTAG,
"Expected CRYPT_E_ASN1_BADTAG, got %d\n", GetLastError());
@@ -234,12 +238,12 @@ static void test_decodeInt(DWORD dwEncoding)
{
/* When the output buffer is NULL, this always succeeds */
SetLastError(0xdeadbeef);
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER,
ints[i].encoded, ints[i].encoded[1] + 2, 0, NULL, NULL,
&bufSize);
ok(ret && GetLastError() == NOERROR,
"Expected success and NOERROR, got %d\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER,
ints[i].encoded, ints[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %d\n", GetLastError());
@@ -254,12 +258,12 @@ static void test_decodeInt(DWORD dwEncoding)
}
for (i = 0; i < sizeof(bigInts) / sizeof(bigInts[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER,
bigInts[i].encoded, bigInts[i].encoded[1] + 2, 0, NULL, NULL,
&bufSize);
ok(ret && GetLastError() == NOERROR,
"Expected success and NOERROR, got %d\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER,
bigInts[i].encoded, bigInts[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %d\n", GetLastError());
@@ -279,12 +283,12 @@ static void test_decodeInt(DWORD dwEncoding)
}
for (i = 0; i < sizeof(bigUInts) / sizeof(bigUInts[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT,
bigUInts[i].encoded, bigUInts[i].encoded[1] + 2, 0, NULL, NULL,
&bufSize);
ok(ret && GetLastError() == NOERROR,
"Expected success and NOERROR, got %d\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_UINT,
bigUInts[i].encoded, bigUInts[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %d\n", GetLastError());
@@ -303,7 +307,7 @@ static void test_decodeInt(DWORD dwEncoding)
}
}
/* Decode the value 1 with long-form length */
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, longForm,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, longForm,
sizeof(longForm), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -312,7 +316,7 @@ static void test_decodeInt(DWORD dwEncoding)
LocalFree(buf);
}
/* check with extra bytes at the end */
- ret = CryptDecodeObjectEx(dwEncoding, X509_INTEGER, extraBytes,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_INTEGER, extraBytes,
sizeof(extraBytes), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -326,7 +330,7 @@ static void test_decodeInt(DWORD dwEncoding)
* Under XP it fails with CRYPT_E_ASN1_LARGE, which means there's a limit
* on the size decoded, but in ME it fails with CRYPT_E_ASN1_EOD or crashes.
* So this test unfortunately isn't useful.
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, tooBig,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, tooBig,
0x7fffffff, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_LARGE,
"Expected CRYPT_E_ASN1_LARGE, got %08x\n", GetLastError());
@@ -337,7 +341,7 @@ static void test_decodeInt(DWORD dwEncoding)
if (0)
{
/* a large buffer isn't guaranteed to crash, it depends on memory allocation order */
- ret = CryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, bigBogus,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_MULTI_BYTE_INTEGER, bigBogus,
0x01ffffff, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
@@ -373,7 +377,7 @@ static void test_encodeEnumerated(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptEncodeObjectEx(dwEncoding, enumeratedTypes[i],
+ ret = pCryptEncodeObjectEx(dwEncoding, enumeratedTypes[i],
&enums[j].val, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
@@ -406,7 +410,7 @@ static void test_decodeEnumerated(DWORD dwEncoding)
DWORD bufSize = sizeof(int);
int val;
- ret = CryptDecodeObjectEx(dwEncoding, enumeratedTypes[i],
+ ret = pCryptDecodeObjectEx(dwEncoding, enumeratedTypes[i],
enums[j].encoded, enums[j].encoded[1] + 2, 0, NULL,
(BYTE *)&val, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -434,7 +438,7 @@ static void testTimeEncoding(DWORD dwEncoding, LPCSTR structType,
ret = SystemTimeToFileTime(&time->sysTime, &ft);
ok(ret, "SystemTimeToFileTime failed: %d\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, structType, &ft,
+ ret = pCryptEncodeObjectEx(dwEncoding, structType, &ft,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
/* years other than 1950-2050 are not allowed for encodings other than
* X509_CHOICE_OF_TIME.
@@ -505,7 +509,7 @@ static void testTimeDecoding(DWORD dwEncoding, LPCSTR structType,
DWORD size = sizeof(ft);
BOOL ret;
- ret = CryptDecodeObjectEx(dwEncoding, structType, time->encodedTime,
+ ret = pCryptDecodeObjectEx(dwEncoding, structType, time->encodedTime,
time->encodedTime[1] + 2, 0, NULL, &ft, &size);
/* years other than 1950-2050 are not allowed for encodings other than
* X509_CHOICE_OF_TIME.
@@ -616,7 +620,7 @@ static void test_decodeFiletime(DWORD dwEncoding)
ret = SystemTimeToFileTime(×[0].sysTime, &ft1);
ok(ret, "SystemTimeToFileTime failed: %d\n", GetLastError());
size = 1;
- ret = CryptDecodeObjectEx(dwEncoding, X509_CHOICE_OF_TIME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CHOICE_OF_TIME,
times[0].encodedTime, times[0].encodedTime[1] + 2, 0, NULL, &ft2, &size);
ok(!ret && GetLastError() == ERROR_MORE_DATA,
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
@@ -636,7 +640,7 @@ static void test_decodeFiletime(DWORD dwEncoding)
for (i = 0; i < sizeof(bogusTimes) / sizeof(bogusTimes[0]); i++)
{
size = sizeof(ft1);
- ret = CryptDecodeObjectEx(dwEncoding, X509_CHOICE_OF_TIME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CHOICE_OF_TIME,
bogusTimes[i], bogusTimes[i][1] + 2, 0, NULL, &ft1, &size);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
@@ -726,14 +730,14 @@ static void test_encodeName(DWORD dwEncoding)
BOOL ret;
/* Test with NULL pvStructInfo */
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
/* Test with empty CERT_NAME_INFO */
info.cRDN = 0;
info.rgRDN = NULL;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -744,7 +748,7 @@ static void test_encodeName(DWORD dwEncoding)
}
/* Test with bogus CERT_RDN */
info.cRDN = 1;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
@@ -753,7 +757,7 @@ static void test_encodeName(DWORD dwEncoding)
rdn.rgRDNAttr = NULL;
info.cRDN = 1;
info.rgRDN = &rdn;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -765,7 +769,7 @@ static void test_encodeName(DWORD dwEncoding)
/* Test with bogus attr array */
rdn.cRDNAttr = 1;
rdn.rgRDNAttr = NULL;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
@@ -776,7 +780,7 @@ static void test_encodeName(DWORD dwEncoding)
attrs[0].Value.pbData = (BYTE *)commonName;
rdn.cRDNAttr = 1;
rdn.rgRDNAttr = attrs;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret, "Expected failure, got success\n");
*/
@@ -793,7 +797,7 @@ static void test_encodeName(DWORD dwEncoding)
attrs[1].Value.pbData = (BYTE *)surName;
rdn.cRDNAttr = 2;
rdn.rgRDNAttr = attrs;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -807,7 +811,7 @@ static void test_encodeName(DWORD dwEncoding)
attrs[0].Value.pbData = (LPBYTE)twoRDNs;
attrs[0].Value.cbData = sizeof(twoRDNs);
rdn.cRDNAttr = 1;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -820,7 +824,7 @@ static void test_encodeName(DWORD dwEncoding)
/* CERT_RDN_ANY_TYPE is too vague for X509_NAMEs, check the return */
rdn.cRDNAttr = 1;
attrs[0].dwValueType = CERT_RDN_ANY_TYPE;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
@@ -831,7 +835,7 @@ static void test_encodeName(DWORD dwEncoding)
info.rgRDN = &rdn;
buf = NULL;
size = 0;
- ret = CryptEncodeObjectEx(X509_ASN_ENCODING, X509_NAME, &info,
+ ret = pCryptEncodeObjectEx(X509_ASN_ENCODING, X509_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -867,14 +871,14 @@ static void test_encodeUnicodeName(DWORD dwEncoding)
BOOL ret;
/* Test with NULL pvStructInfo */
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
/* Test with empty CERT_NAME_INFO */
info.cRDN = 0;
info.rgRDN = NULL;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -894,7 +898,7 @@ static void test_encodeUnicodeName(DWORD dwEncoding)
rdn.rgRDNAttr = attrs;
info.cRDN = 1;
info.rgRDN = &rdn;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_INVALID_PRINTABLE_STRING,
"Expected CRYPT_E_INVALID_PRINTABLE_STRING, got %08x\n", GetLastError());
@@ -914,7 +918,7 @@ static void test_encodeUnicodeName(DWORD dwEncoding)
rdn.rgRDNAttr = attrs;
info.cRDN = 1;
info.rgRDN = &rdn;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -928,7 +932,7 @@ static void test_encodeUnicodeName(DWORD dwEncoding)
attrs[0].Value.pbData = (LPBYTE)twoRDNs;
attrs[0].Value.cbData = sizeof(twoRDNs);
rdn.cRDNAttr = 1;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -941,7 +945,7 @@ static void test_encodeUnicodeName(DWORD dwEncoding)
/* Unicode names infer the type for CERT_RDN_ANY_TYPE */
rdn.cRDNAttr = 1;
attrs[0].dwValueType = CERT_RDN_ANY_TYPE;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
todo_wine ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1028,7 +1032,7 @@ static void test_decodeName(DWORD dwEncoding)
/* test empty name */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME, emptySequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME, emptySequence,
emptySequence[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1045,7 +1049,7 @@ static void test_decodeName(DWORD dwEncoding)
LocalFree(buf);
}
/* test empty name with indefinite-length encoding */
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME, emptyIndefiniteSequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME, emptyIndefiniteSequence,
sizeof(emptyIndefiniteSequence), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1059,7 +1063,7 @@ static void test_decodeName(DWORD dwEncoding)
}
/* test empty RDN */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME, emptyRDNs,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME, emptyRDNs,
emptyRDNs[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1075,7 +1079,7 @@ static void test_decodeName(DWORD dwEncoding)
}
/* test two RDN attrs */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME, twoRDNs,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME, twoRDNs,
twoRDNs[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1099,13 +1103,13 @@ static void test_decodeName(DWORD dwEncoding)
}
/* test that two RDN attrs with extra bytes succeeds */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME, twoRDNsExtraBytes,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME, twoRDNsExtraBytes,
sizeof(twoRDNsExtraBytes), 0, NULL, NULL, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
/* And, a slightly more complicated name */
buf = NULL;
bufSize = 0;
- ret = CryptDecodeObjectEx(X509_ASN_ENCODING, X509_NAME, encodedRDNAttrs,
+ ret = pCryptDecodeObjectEx(X509_ASN_ENCODING, X509_NAME, encodedRDNAttrs,
sizeof(encodedRDNAttrs), CRYPT_DECODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -1127,7 +1131,7 @@ static void test_decodeUnicodeName(DWORD dwEncoding)
/* test empty name */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, emptySequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, emptySequence,
emptySequence[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1143,7 +1147,7 @@ static void test_decodeUnicodeName(DWORD dwEncoding)
}
/* test empty RDN */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, emptyRDNs,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, emptyRDNs,
emptyRDNs[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1159,7 +1163,7 @@ static void test_decodeUnicodeName(DWORD dwEncoding)
}
/* test two RDN attrs */
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, twoRDNsNoNull,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME, twoRDNsNoNull,
sizeof(twoRDNsNoNull),
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1265,7 +1269,7 @@ static void test_encodeNameValue(DWORD dwEncoding)
value.dwValueType = CERT_RDN_ENCODED_BLOB;
value.Value.pbData = printableCommonNameValue;
value.Value.cbData = sizeof(printableCommonNameValue);
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1278,7 +1282,7 @@ static void test_encodeNameValue(DWORD dwEncoding)
}
for (i = 0; i < sizeof(nameValues) / sizeof(nameValues[0]); i++)
{
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_VALUE,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_VALUE,
&nameValues[i].value, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&size);
ok(ret, "Type %d: CryptEncodeObjectEx failed: %08x\n",
@@ -1303,7 +1307,7 @@ static void test_decodeNameValue(DWORD dwEncoding)
for (i = 0; i < sizeof(nameValues) / sizeof(nameValues[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME_VALUE,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME_VALUE,
nameValues[i].encoded, nameValues[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG | CRYPT_DECODE_SHARE_OID_STRING_FLAG, NULL,
(BYTE *)&buf, &bufSize);
@@ -1350,7 +1354,7 @@ static void test_encodeAltName(DWORD dwEncoding)
char oid[] = "1.2.3";
/* Test with empty info */
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1361,13 +1365,13 @@ static void test_encodeAltName(DWORD dwEncoding)
/* Test with an empty entry */
info.cAltEntry = 1;
info.rgAltEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Test with an empty pointer */
entry.dwAltNameChoice = CERT_ALT_NAME_URL;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1377,7 +1381,7 @@ static void test_encodeAltName(DWORD dwEncoding)
}
/* Test with a real URL */
U(entry).pwszURL = (LPWSTR)url;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1387,7 +1391,7 @@ static void test_encodeAltName(DWORD dwEncoding)
}
/* Now with the URL containing an invalid IA5 char */
U(entry).pwszURL = (LPWSTR)nihongoURL;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_INVALID_IA5_STRING,
"Expected CRYPT_E_INVALID_IA5_STRING, got %08x\n", GetLastError());
@@ -1397,7 +1401,7 @@ static void test_encodeAltName(DWORD dwEncoding)
GET_CERT_ALT_NAME_VALUE_ERR_INDEX(size));
/* Now with the URL missing a scheme */
U(entry).pwszURL = (LPWSTR)dnsName;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1407,7 +1411,7 @@ static void test_encodeAltName(DWORD dwEncoding)
}
/* Now with a DNS name */
entry.dwAltNameChoice = CERT_ALT_NAME_DNS_NAME;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1420,7 +1424,7 @@ static void test_encodeAltName(DWORD dwEncoding)
entry.dwAltNameChoice = CERT_ALT_NAME_IP_ADDRESS;
U(entry).IPAddress.cbData = sizeof(localhost);
U(entry).IPAddress.pbData = (LPBYTE)localhost;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1431,7 +1435,7 @@ static void test_encodeAltName(DWORD dwEncoding)
/* Test with OID */
entry.dwAltNameChoice = CERT_ALT_NAME_REGISTERED_ID;
U(entry).pszRegisteredID = oid;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1443,7 +1447,7 @@ static void test_encodeAltName(DWORD dwEncoding)
entry.dwAltNameChoice = CERT_ALT_NAME_DIRECTORY_NAME;
U(entry).DirectoryName.cbData = sizeof(encodedCommonName);
U(entry).DirectoryName.pbData = (LPBYTE)encodedCommonName;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -1465,18 +1469,18 @@ static void test_decodeAltName(DWORD dwEncoding)
CERT_ALT_NAME_INFO *info;
/* Test some bogus ones first */
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
unimplementedType, sizeof(unimplementedType), CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_BADTAG,
"Expected CRYPT_E_ASN1_BADTAG, got %08x\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
bogusType, sizeof(bogusType), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
/* Now expected cases */
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, emptySequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, emptySequence,
emptySequence[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1488,7 +1492,7 @@ static void test_decodeAltName(DWORD dwEncoding)
info->cAltEntry);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, emptyURL,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, emptyURL,
emptyURL[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1505,10 +1509,10 @@ static void test_decodeAltName(DWORD dwEncoding)
"Expected empty URL\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
emptyURLExtraBytes, sizeof(emptyURLExtraBytes), 0, NULL, NULL, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedURL,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedURL,
encodedURL[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1524,7 +1528,7 @@ static void test_decodeAltName(DWORD dwEncoding)
ok(!lstrcmpW(U(info->rgAltEntry[0]).pwszURL, url), "Unexpected URL\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedDnsName,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedDnsName,
encodedDnsName[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1541,7 +1545,7 @@ static void test_decodeAltName(DWORD dwEncoding)
"Unexpected DNS name\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedIPAddr,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedIPAddr,
encodedIPAddr[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1561,7 +1565,7 @@ static void test_decodeAltName(DWORD dwEncoding)
sizeof(localhost)), "Unexpected IP address value\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedOidName,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME, encodedOidName,
sizeof(encodedOidName), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1578,7 +1582,7 @@ static void test_decodeAltName(DWORD dwEncoding)
"Expected OID 1.2.3, got %s\n", U(info->rgAltEntry[0]).pszRegisteredID);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ALTERNATE_NAME,
encodedDirectoryName, sizeof(encodedDirectoryName),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1677,7 +1681,7 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
BOOL ret;
CERT_NAME_VALUE value;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
@@ -1685,23 +1689,23 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
value.dwValueType = 0; /* aka CERT_RDN_ANY_TYPE */
value.Value.pbData = NULL;
value.Value.cbData = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_CHAR_STRING,
"Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n", GetLastError());
value.dwValueType = CERT_RDN_ENCODED_BLOB;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_CHAR_STRING,
"Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n", GetLastError());
value.dwValueType = CERT_RDN_ANY_TYPE;
value.Value.pbData = (LPBYTE)oneW;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_CHAR_STRING,
"Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n", GetLastError());
value.Value.cbData = sizeof(oneW);
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_CHAR_STRING,
"Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n", GetLastError());
@@ -1709,7 +1713,7 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
value.dwValueType = CERT_RDN_ENCODED_BLOB;
value.Value.pbData = oneUniversal;
value.Value.cbData = sizeof(oneUniversal);
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_CHAR_STRING,
"Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n", GetLastError());
@@ -1719,7 +1723,7 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
{
value.Value.pbData = (LPBYTE)unicodeErrors[i].str;
value.dwValueType = unicodeErrors[i].valueType;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == unicodeErrors[i].error,
"Value type %d: expected %08x, got %08x\n", value.dwValueType,
@@ -1734,7 +1738,7 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
{
value.Value.pbData = (LPBYTE)unicodeResults[i].str;
value.dwValueType = unicodeResults[i].valueType;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1755,7 +1759,7 @@ static void test_encodeUnicodeNameValue(DWORD dwEncoding)
{
value.Value.pbData = (LPBYTE)unicodeWeirdness[i].str;
value.dwValueType = unicodeWeirdness[i].valueType;
- ret = CryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE, &value,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1787,7 +1791,7 @@ static void test_decodeUnicodeNameValue(DWORD dwEncoding)
BOOL ret;
DWORD size = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_UNICODE_NAME_VALUE,
unicodeResults[i].encoded.pbData, unicodeResults[i].encoded.cbData,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1841,7 +1845,7 @@ static void test_encodeOctets(DWORD dwEncoding)
blob.cbData = strlen((const char*)octets[i].val);
blob.pbData = (BYTE*)octets[i].val;
- ret = CryptEncodeObjectEx(dwEncoding, X509_OCTET_STRING, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_OCTET_STRING, &blob,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %d\n", GetLastError());
if (buf)
@@ -1867,7 +1871,7 @@ static void test_decodeOctets(DWORD dwEncoding)
BOOL ret;
DWORD bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_OCTET_STRING,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_OCTET_STRING,
(BYTE *)octets[i].encoded, octets[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1929,7 +1933,7 @@ static void test_encodeBits(DWORD dwEncoding)
blob.cbData = sizeof(bytesToEncode);
blob.pbData = (BYTE *)bytesToEncode;
blob.cUnusedBits = bits[i].cUnusedBits;
- ret = CryptEncodeObjectEx(dwEncoding, X509_BITS, &blob,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_BITS, &blob,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -1956,7 +1960,7 @@ static void test_decodeBits(DWORD dwEncoding)
/* normal cases */
for (i = 0; i < sizeof(bits) / sizeof(bits[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_BITS, bits[i].encoded,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BITS, bits[i].encoded,
bits[i].encoded[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -1979,7 +1983,7 @@ static void test_decodeBits(DWORD dwEncoding)
/* special case: check that something that's valid in BER but not in DER
* decodes successfully
*/
- ret = CryptDecodeObjectEx(dwEncoding, X509_BITS, ber, ber[1] + 2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BITS, ber, ber[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2043,7 +2047,7 @@ static void test_encodeBasicConstraints(DWORD dwEncoding)
/* First test with the simpler info2 */
for (i = 0; i < sizeof(constraints2) / sizeof(constraints2[0]); i++)
{
- ret = CryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
&constraints2[i].info, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
@@ -2061,7 +2065,7 @@ static void test_encodeBasicConstraints(DWORD dwEncoding)
info.SubjectType.cbData = 0;
info.fPathLenConstraint = FALSE;
info.cSubtreesConstraint = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2076,7 +2080,7 @@ static void test_encodeBasicConstraints(DWORD dwEncoding)
*/
info.cSubtreesConstraint = 1;
info.rgSubtreesConstraint = &nameBlob;
- ret = CryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2104,7 +2108,7 @@ static void test_decodeBasicConstraints(DWORD dwEncoding)
/* First test with simpler info2 */
for (i = 0; i < sizeof(constraints2) / sizeof(constraints2[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
constraints2[i].encoded, constraints2[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed for item %d: %08x\n", i,
@@ -2121,17 +2125,17 @@ static void test_decodeBasicConstraints(DWORD dwEncoding)
}
/* Check with the order of encoded elements inverted */
buf = (PBYTE)1;
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
inverted, inverted[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
ok(!buf, "Expected buf to be set to NULL\n");
/* Check with a non-DER bool */
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
badBool.encoded, badBool.encoded[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &bufSize);
- ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
+ ok(ret, "pCryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
{
CERT_BASIC_CONSTRAINTS2_INFO *info =
@@ -2141,13 +2145,13 @@ static void test_decodeBasicConstraints(DWORD dwEncoding)
LocalFree(buf);
}
/* Check with a non-basic constraints value */
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS2,
(LPBYTE)encodedCommonName, encodedCommonName[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
/* Now check with the more complex CERT_BASIC_CONSTRAINTS_INFO */
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS,
emptyConstraint, sizeof(emptyConstraint), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2160,7 +2164,7 @@ static void test_decodeBasicConstraints(DWORD dwEncoding)
ok(info->cSubtreesConstraint == 0, "Expected no subtree constraints\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_BASIC_CONSTRAINTS,
constraintWithDomainName, sizeof(constraintWithDomainName),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2228,7 +2232,7 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
memcpy(toEncode + sizeof(BLOBHEADER) + sizeof(RSAPUBKEY), modulus1,
sizeof(modulus1));
- ret = CryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -2236,7 +2240,7 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
/* Now with a bogus reserved field */
hdr->bType = PUBLICKEYBLOB;
hdr->reserved = 1;
- ret = CryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
if (buf)
@@ -2249,7 +2253,7 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
/* Now with a bogus blob version */
hdr->reserved = 0;
hdr->bVersion = 0;
- ret = CryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
if (buf)
@@ -2262,7 +2266,7 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
/* And with a bogus alg ID */
hdr->bVersion = CUR_BLOB_VERSION;
hdr->aiKeyAlg = CALG_DES;
- ret = CryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
if (buf)
@@ -2274,11 +2278,11 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
}
/* Check a couple of RSA-related OIDs */
hdr->aiKeyAlg = CALG_RSA_KEYX;
- ret = CryptEncodeObjectEx(dwEncoding, szOID_RSA_RSA,
+ ret = pCryptEncodeObjectEx(dwEncoding, szOID_RSA_RSA,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, szOID_RSA_SHA1RSA,
+ ret = pCryptEncodeObjectEx(dwEncoding, szOID_RSA_SHA1RSA,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
@@ -2288,7 +2292,7 @@ static void test_encodeRsaPublicKey(DWORD dwEncoding)
{
memcpy(toEncode + sizeof(BLOBHEADER) + sizeof(RSAPUBKEY),
rsaPubKeys[i].modulus, rsaPubKeys[i].modulusLen);
- ret = CryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptEncodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
toEncode, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2311,18 +2315,18 @@ static void test_decodeRsaPublicKey(DWORD dwEncoding)
BOOL ret;
/* Try with a bad length */
- ret = CryptDecodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptDecodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
rsaPubKeys[0].encoded, rsaPubKeys[0].encoded[1],
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
"Expected CRYPT_E_ASN1_EOD, got %08x\n", CRYPT_E_ASN1_EOD);
/* Try with a couple of RSA-related OIDs */
- ret = CryptDecodeObjectEx(dwEncoding, szOID_RSA_RSA,
+ ret = pCryptDecodeObjectEx(dwEncoding, szOID_RSA_RSA,
rsaPubKeys[0].encoded, rsaPubKeys[0].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, szOID_RSA_SHA1RSA,
+ ret = pCryptDecodeObjectEx(dwEncoding, szOID_RSA_SHA1RSA,
rsaPubKeys[0].encoded, rsaPubKeys[0].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
@@ -2331,7 +2335,7 @@ static void test_decodeRsaPublicKey(DWORD dwEncoding)
for (i = 0; i < sizeof(rsaPubKeys) / sizeof(rsaPubKeys[0]); i++)
{
bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
+ ret = pCryptDecodeObjectEx(dwEncoding, RSA_CSP_PUBLICKEYBLOB,
rsaPubKeys[i].encoded, rsaPubKeys[i].encoded[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2394,7 +2398,7 @@ static void test_encodeSequenceOfAny(DWORD dwEncoding)
seq.cValue = sizeof(ints) / sizeof(ints[0]);
seq.rgValue = blobs;
- ret = CryptEncodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, &seq,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, &seq,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2408,7 +2412,7 @@ static void test_encodeSequenceOfAny(DWORD dwEncoding)
*/
blobs[0].cbData = times[0].encodedTime[1] + 2;
blobs[0].pbData = (BYTE *)times[0].encodedTime;
- ret = CryptEncodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, &seq,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, &seq,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2426,7 +2430,7 @@ static void test_decodeSequenceOfAny(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, intSequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, intSequence,
intSequence[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2446,7 +2450,7 @@ static void test_decodeSequenceOfAny(DWORD dwEncoding)
}
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, mixedSequence,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_SEQUENCE_OF_ANY, mixedSequence,
mixedSequence[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2502,7 +2506,7 @@ static void test_encodeExtensions(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_EXTENSIONS, &exts[i].exts,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_EXTENSIONS, &exts[i].exts,
CRYPT_ENCODE_ALLOC_FLAG, NULL, &buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2526,7 +2530,7 @@ static void test_decodeExtensions(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_EXTENSIONS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_EXTENSIONS,
exts[i].encoded, exts[i].encoded[1] + 2, CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2629,7 +2633,7 @@ static void test_encodePublicKeyInfo(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
&pubKeys[i].info, CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf,
&bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
@@ -2686,7 +2690,7 @@ static void test_decodePublicKeyInfo(DWORD dwEncoding)
for (i = 0; i < sizeof(pubKeys) / sizeof(pubKeys[0]); i++)
{
/* The NULL form decodes to the decoded member */
- ret = CryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
pubKeys[i].encoded, pubKeys[i].encoded[1] + 2, CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2697,7 +2701,7 @@ static void test_decodePublicKeyInfo(DWORD dwEncoding)
LocalFree(buf);
}
/* The non-NULL form decodes to the original */
- ret = CryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
pubKeys[i].encodedNoNull, pubKeys[i].encodedNoNull[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -2708,7 +2712,7 @@ static void test_decodePublicKeyInfo(DWORD dwEncoding)
}
}
/* Test with bogus (not valid DER) parameters */
- ret = CryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_PUBLIC_KEY_INFO,
bogusPubKeyInfo, bogusPubKeyInfo[1] + 2, CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &bufSize);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
@@ -2801,12 +2805,12 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
CERT_EXTENSION ext;
/* Test with NULL pvStructInfo */
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
/* Test with a V1 cert */
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2818,7 +2822,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
}
/* Test v2 cert */
info.dwVersion = CERT_V2;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2829,7 +2833,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
}
/* Test v3 cert */
info.dwVersion = CERT_V3;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2844,7 +2848,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
info.dwVersion = CERT_V1;
info.cExtension = 1;
info.rgExtension = &criticalExt;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2856,7 +2860,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
/* test v1 cert with a serial number */
info.SerialNumber.cbData = sizeof(serialNum);
info.SerialNumber.pbData = (BYTE *)serialNum;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -2869,7 +2873,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
info.Issuer.pbData = (BYTE *)encodedCommonName;
info.Subject.cbData = sizeof(encodedCommonName);
info.Subject.pbData = (BYTE *)encodedCommonName;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -2881,7 +2885,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
info.SubjectPublicKeyInfo.Algorithm.pszObjId = oid_rsa_rsa;
info.SubjectPublicKeyInfo.PublicKey.cbData = sizeof(aKey);
info.SubjectPublicKeyInfo.PublicKey.pbData = (LPBYTE)aKey;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -2904,7 +2908,7 @@ static void test_encodeCertToBeSigned(DWORD dwEncoding)
ext.Value.pbData = (BYTE *)octetCommonNameValue;
info.cExtension = 1;
info.rgExtension = &ext;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -2923,11 +2927,11 @@ static void test_decodeCertToBeSigned(DWORD dwEncoding)
DWORD size = 0, i;
/* Test with NULL pbEncoded */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL, 0,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL, 0,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_ASN1_EOD,
"Expected CRYPT_E_ASN1_EOD, got %08x\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL, 1,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, NULL, 1,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
@@ -2937,13 +2941,13 @@ static void test_decodeCertToBeSigned(DWORD dwEncoding)
*/
for (i = 0; i < sizeof(corruptCerts) / sizeof(corruptCerts[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED,
corruptCerts[i], corruptCerts[i][1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(!ret, "Expected failure\n");
}
/* Now check with serial number, subject and issuer specified */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, bigCert,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, bigCert,
sizeof(bigCert), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -2967,7 +2971,7 @@ static void test_decodeCertToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* Check again with pub key specified */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED,
v1CertWithPubKey, sizeof(v1CertWithPubKey), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -3029,7 +3033,7 @@ static void test_encodeCert(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD bufSize = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &bufSize);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3046,7 +3050,7 @@ static void test_decodeCert(DWORD dwEncoding)
BYTE *buf = NULL;
DWORD size = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT, signedBigCert,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT, signedBigCert,
sizeof(signedBigCert), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3064,7 +3068,7 @@ static void test_decodeCert(DWORD dwEncoding)
LocalFree(buf);
}
/* A signed cert decodes as a CERT_INFO too */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, signedBigCert,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_TO_BE_SIGNED, signedBigCert,
sizeof(signedBigCert), CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3116,14 +3120,14 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
DWORD size = 0;
/* Test with an empty info */
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Test with one empty dist point */
info.cDistPoint = 1;
info.rgDistPoint = &point;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3137,7 +3141,7 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
U(entry).pwszURL = (LPWSTR)nihongoURL;
U(point.DistPointName).FullName.cAltEntry = 1;
U(point.DistPointName).FullName.rgAltEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_INVALID_IA5_STRING,
"Expected CRYPT_E_INVALID_IA5_STRING, got %08x\n", GetLastError());
@@ -3147,7 +3151,7 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
GET_CERT_ALT_NAME_VALUE_ERR_INDEX(size));
/* A dist point with (just) a valid name */
U(entry).pwszURL = (LPWSTR)url;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3159,7 +3163,7 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
point.DistPointName.dwDistPointNameChoice = CRL_DIST_POINT_NO_NAME;
point.ReasonFlags.cbData = sizeof(crlReason);
point.ReasonFlags.pbData = (LPBYTE)&crlReason;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3171,7 +3175,7 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
point.ReasonFlags.cbData = 0;
point.CRLIssuer.cAltEntry = 1;
point.CRLIssuer.rgAltEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3181,7 +3185,7 @@ static void test_encodeCRLDistPoints(DWORD dwEncoding)
}
/* A dist point with both a name and an issuer */
point.DistPointName.dwDistPointNameChoice = CRL_DIST_POINT_FULL_NAME;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3201,7 +3205,7 @@ static void test_decodeCRLDistPoints(DWORD dwEncoding)
PCRL_DIST_POINT point;
PCERT_ALT_NAME_ENTRY entry;
- ret = CryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
emptyDistPoint, emptyDistPoint[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
if (ret)
@@ -3219,7 +3223,7 @@ static void test_decodeCRLDistPoints(DWORD dwEncoding)
ok(point->CRLIssuer.cAltEntry == 0, "Expected no issuer\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
distPointWithUrl, distPointWithUrl[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
if (ret)
@@ -3245,7 +3249,7 @@ static void test_decodeCRLDistPoints(DWORD dwEncoding)
ok(point->CRLIssuer.cAltEntry == 0, "Expected no issuer\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
distPointWithReason, distPointWithReason[1] + 2, CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &size);
if (ret)
@@ -3267,7 +3271,7 @@ static void test_decodeCRLDistPoints(DWORD dwEncoding)
ok(point->CRLIssuer.cAltEntry == 0, "Expected no issuer\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CRL_DIST_POINTS,
distPointWithUrlAndIssuer, distPointWithUrlAndIssuer[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (ret)
@@ -3314,7 +3318,7 @@ static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
CRL_ISSUING_DIST_POINT point = { { 0 } };
CERT_ALT_NAME_ENTRY entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!ret && GetLastError() == ERROR_FILE_NOT_FOUND)
{
@@ -3323,7 +3327,7 @@ static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
}
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3335,7 +3339,7 @@ static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
/* nonsensical flags */
point.fOnlyContainsUserCerts = TRUE;
point.fOnlyContainsCACerts = TRUE;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3347,14 +3351,14 @@ static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
/* unimplemented name type */
point.fOnlyContainsCACerts = point.fOnlyContainsUserCerts = FALSE;
point.DistPointName.dwDistPointNameChoice = CRL_DIST_POINT_ISSUER_RDN_NAME;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* empty name */
point.DistPointName.dwDistPointNameChoice = CRL_DIST_POINT_FULL_NAME;
U(point.DistPointName).FullName.cAltEntry = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3368,7 +3372,7 @@ static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
U(entry).pwszURL = (LPWSTR)url;
U(point.DistPointName).FullName.cAltEntry = 1;
U(point.DistPointName).FullName.rgAltEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT, &point,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3453,7 +3457,7 @@ static void test_decodeCRLIssuingDistPoint(DWORD dwEncoding)
DWORD size = 0;
CRL_ISSUING_DIST_POINT point = { { 0 } };
- ret = CryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
emptySequence, emptySequence[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
if (!ret && GetLastError() == ERROR_FILE_NOT_FOUND)
@@ -3467,7 +3471,7 @@ static void test_decodeCRLIssuingDistPoint(DWORD dwEncoding)
compareCRLIssuingDistPoints(&point, (PCRL_ISSUING_DIST_POINT)buf);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
badFlagsIDP, badFlagsIDP[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -3477,7 +3481,7 @@ static void test_decodeCRLIssuingDistPoint(DWORD dwEncoding)
compareCRLIssuingDistPoints(&point, (PCRL_ISSUING_DIST_POINT)buf);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
emptyNameIDP, emptyNameIDP[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -3489,7 +3493,7 @@ static void test_decodeCRLIssuingDistPoint(DWORD dwEncoding)
compareCRLIssuingDistPoints(&point, (PCRL_ISSUING_DIST_POINT)buf);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ISSUING_DIST_POINT,
urlIDP, urlIDP[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -3568,7 +3572,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
CERT_EXTENSION ext;
/* Test with a V1 CRL */
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3579,7 +3583,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
}
/* Test v2 CRL */
info.dwVersion = CRL_V2;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3593,7 +3597,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
info.dwVersion = CRL_V1;
info.Issuer.cbData = sizeof(encodedCommonName);
info.Issuer.pbData = (BYTE *)encodedCommonName;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3604,13 +3608,13 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
}
/* v1 CRL with a name and a NULL entry pointer */
info.cCRLEntry = 1;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %08x\n", GetLastError());
/* now set an empty entry */
info.rgCRLEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3623,7 +3627,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
/* an entry with a serial number */
entry.SerialNumber.cbData = sizeof(serialNum);
entry.SerialNumber.pbData = (BYTE *)serialNum;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -3636,9 +3640,9 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
/* an entry with an extension */
entry.cExtension = 1;
entry.rgExtension = &criticalExt;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
- ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
+ ok(ret, "pCryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
{
ok(size == sizeof(v1CRLWithEntryExt), "Wrong size %d\n", size);
@@ -3649,7 +3653,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
entry.cExtension = 0;
info.cExtension = 1;
info.rgExtension = &criticalExt;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3661,7 +3665,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
/* a v2 CRL with an extension, this time non-critical */
info.dwVersion = CRL_V2;
info.rgExtension = &nonCriticalExt;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -3676,7 +3680,7 @@ static void test_encodeCRLToBeSigned(DWORD dwEncoding)
ext.Value.cbData = sizeof(urlIDP);
ext.Value.pbData = (LPBYTE)urlIDP;
entry.rgExtension = &ext;
- ret = CryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4241,14 +4245,14 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
for (i = 0; i < sizeof(corruptCRLs) / sizeof(corruptCRLs[0]); i++)
{
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
corruptCRLs[i], corruptCRLs[i][1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(!ret && (GetLastError() == CRYPT_E_ASN1_CORRUPT),
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
}
/* at a minimum, a CRL must contain an issuer: */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v1CRLWithIssuer, v1CRLWithIssuer[1] + 2, CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4266,13 +4270,13 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* check decoding with an empty CRL entry */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v1CRLWithIssuerAndEmptyEntry, v1CRLWithIssuerAndEmptyEntry[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %08x\n", GetLastError());
/* with a real CRL entry */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v1CRLWithIssuerAndEntry, v1CRLWithIssuerAndEntry[1] + 2,
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4299,7 +4303,7 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* a real CRL from verisign that has extensions */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
verisignCRL, sizeof(verisignCRL), CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4318,7 +4322,7 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* another real CRL from verisign that has lots of entries */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
verisignCRLWithLotsOfEntries, sizeof(verisignCRLWithLotsOfEntries),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4334,7 +4338,7 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* and finally, with an extension */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v1CRLWithExt, sizeof(v1CRLWithExt), CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4362,7 +4366,7 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
info->cExtension);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v2CRLWithExt, sizeof(v2CRLWithExt), CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4375,7 +4379,7 @@ static void test_decodeCRLToBeSigned(DWORD dwEncoding)
LocalFree(buf);
}
/* And again, with an issuing dist point */
- ret = CryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_CERT_CRL_TO_BE_SIGNED,
v2CRLWithIssuingDistPoint, sizeof(v2CRLWithIssuingDistPoint),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4405,7 +4409,7 @@ static void test_encodeEnhancedKeyUsage(DWORD dwEncoding)
/* Test with empty usage */
usage.cUsageIdentifier = 0;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE, &usage,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE, &usage,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4417,7 +4421,7 @@ static void test_encodeEnhancedKeyUsage(DWORD dwEncoding)
/* Test with a few usages */
usage.cUsageIdentifier = sizeof(keyUsages) / sizeof(keyUsages[0]);
usage.rgpszUsageIdentifier = (LPSTR *)keyUsages;
- ret = CryptEncodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE, &usage,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE, &usage,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4434,7 +4438,7 @@ static void test_decodeEnhancedKeyUsage(DWORD dwEncoding)
LPBYTE buf = NULL;
DWORD size = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE,
emptySequence, sizeof(emptySequence), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4448,7 +4452,7 @@ static void test_decodeEnhancedKeyUsage(DWORD dwEncoding)
usage->cUsageIdentifier);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_ENHANCED_KEY_USAGE,
encodedUsage, sizeof(encodedUsage), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4485,7 +4489,7 @@ static void test_encodeAuthorityKeyId(DWORD dwEncoding)
DWORD size = 0;
/* Test with empty id */
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4497,7 +4501,7 @@ static void test_encodeAuthorityKeyId(DWORD dwEncoding)
/* With just a key id */
info.KeyId.cbData = sizeof(keyId);
info.KeyId.pbData = keyId;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4510,7 +4514,7 @@ static void test_encodeAuthorityKeyId(DWORD dwEncoding)
info.KeyId.cbData = 0;
info.CertIssuer.cbData = sizeof(encodedCommonName);
info.CertIssuer.pbData = (BYTE *)encodedCommonName;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4524,7 +4528,7 @@ static void test_encodeAuthorityKeyId(DWORD dwEncoding)
info.CertIssuer.cbData = 0;
info.CertSerialNumber.cbData = sizeof(serialNum);
info.CertSerialNumber.pbData = (BYTE *)serialNum;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4542,7 +4546,7 @@ static void test_decodeAuthorityKeyId(DWORD dwEncoding)
LPBYTE buf = NULL;
DWORD size = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
emptySequence, sizeof(emptySequence), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4557,7 +4561,7 @@ static void test_decodeAuthorityKeyId(DWORD dwEncoding)
ok(info->CertSerialNumber.cbData == 0, "Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
authorityKeyIdWithId, sizeof(authorityKeyIdWithId),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4574,7 +4578,7 @@ static void test_decodeAuthorityKeyId(DWORD dwEncoding)
ok(info->CertSerialNumber.cbData == 0, "Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
authorityKeyIdWithIssuer, sizeof(authorityKeyIdWithIssuer),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4592,7 +4596,7 @@ static void test_decodeAuthorityKeyId(DWORD dwEncoding)
ok(info->CertSerialNumber.cbData == 0, "Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID,
authorityKeyIdWithSerial, sizeof(authorityKeyIdWithSerial),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4625,7 +4629,7 @@ static void test_encodeAuthorityKeyId2(DWORD dwEncoding)
DWORD size = 0;
/* Test with empty id */
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4637,7 +4641,7 @@ static void test_encodeAuthorityKeyId2(DWORD dwEncoding)
/* With just a key id */
info.KeyId.cbData = sizeof(keyId);
info.KeyId.pbData = keyId;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4651,16 +4655,16 @@ static void test_encodeAuthorityKeyId2(DWORD dwEncoding)
info.KeyId.cbData = 0;
info.AuthorityCertIssuer.cAltEntry = 1;
info.AuthorityCertIssuer.rgAltEntry = &entry;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* With an issuer name */
entry.dwAltNameChoice = CERT_ALT_NAME_URL;
U(entry).pwszURL = (LPWSTR)url;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
- ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
+ ok(ret, "pCryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
{
ok(size == sizeof(authorityKeyIdWithIssuerUrl), "Unexpected size %d\n",
@@ -4673,7 +4677,7 @@ static void test_encodeAuthorityKeyId2(DWORD dwEncoding)
info.AuthorityCertIssuer.cAltEntry = 0;
info.AuthorityCertSerialNumber.cbData = sizeof(serialNum);
info.AuthorityCertSerialNumber.pbData = (BYTE *)serialNum;
- ret = CryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (buf)
@@ -4691,7 +4695,7 @@ static void test_decodeAuthorityKeyId2(DWORD dwEncoding)
LPBYTE buf = NULL;
DWORD size = 0;
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
emptySequence, sizeof(emptySequence), CRYPT_DECODE_ALLOC_FLAG, NULL,
(BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4708,7 +4712,7 @@ static void test_decodeAuthorityKeyId2(DWORD dwEncoding)
"Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
authorityKeyIdWithId, sizeof(authorityKeyIdWithId),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4727,7 +4731,7 @@ static void test_decodeAuthorityKeyId2(DWORD dwEncoding)
"Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
authorityKeyIdWithIssuerUrl, sizeof(authorityKeyIdWithIssuerUrl),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4750,7 +4754,7 @@ static void test_decodeAuthorityKeyId2(DWORD dwEncoding)
"Expected no serial number\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_AUTHORITY_KEY_ID2,
authorityKeyIdWithSerial, sizeof(authorityKeyIdWithSerial),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %08x\n", GetLastError());
@@ -4789,17 +4793,17 @@ static void test_encodePKCSContentInfo(DWORD dwEncoding)
char oid1[] = "1.2.3";
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %x\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %x\n", GetLastError());
info.pszObjId = oid1;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %x\n", GetLastError());
if (buf)
@@ -4810,7 +4814,7 @@ static void test_encodePKCSContentInfo(DWORD dwEncoding)
}
info.Content.pbData = bogusDER;
info.Content.cbData = sizeof(bogusDER);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed; %x\n", GetLastError());
if (buf)
@@ -4821,7 +4825,7 @@ static void test_encodePKCSContentInfo(DWORD dwEncoding)
}
info.Content.pbData = (BYTE *)ints[0].encoded;
info.Content.cbData = ints[0].encoded[1] + 2;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_CONTENT_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -4868,7 +4872,7 @@ static void test_decodePKCSContentInfo(DWORD dwEncoding)
DWORD size = 0;
CRYPT_CONTENT_INFO *info;
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
emptyPKCSContentInfo, sizeof(emptyPKCSContentInfo),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -4882,12 +4886,12 @@ static void test_decodePKCSContentInfo(DWORD dwEncoding)
info->Content.cbData);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
emptyPKCSContentInfoExtraBytes, sizeof(emptyPKCSContentInfoExtraBytes),
0, NULL, NULL, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
bogusPKCSContentInfo, sizeof(bogusPKCSContentInfo),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
/* Native fails with CRYPT_E_ASN1_EOD, accept also CRYPT_E_ASN1_CORRUPT as
@@ -4897,7 +4901,7 @@ static void test_decodePKCSContentInfo(DWORD dwEncoding)
GetLastError() == CRYPT_E_ASN1_CORRUPT),
"Expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %x\n",
GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
intPKCSContentInfo, sizeof(intPKCSContentInfo),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -4913,7 +4917,7 @@ static void test_decodePKCSContentInfo(DWORD dwEncoding)
info->Content.cbData), "Unexpected value\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_CONTENT_INFO,
indefiniteSignedPKCSContent, sizeof(indefiniteSignedPKCSContent),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -4946,17 +4950,17 @@ static void test_encodePKCSAttribute(DWORD dwEncoding)
char oid[] = "1.2.3";
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, NULL,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, NULL,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == STATUS_ACCESS_VIOLATION,
"Expected STATUS_ACCESS_VIOLATION, got %x\n", GetLastError());
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %x\n", GetLastError());
attr.pszObjId = oid;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %x\n", GetLastError());
if (buf)
@@ -4969,7 +4973,7 @@ static void test_encodePKCSAttribute(DWORD dwEncoding)
blob.pbData = bogusDER;
attr.cValue = 1;
attr.rgValue = &blob;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %x\n", GetLastError());
if (buf)
@@ -4980,7 +4984,7 @@ static void test_encodePKCSAttribute(DWORD dwEncoding)
}
blob.pbData = (BYTE *)ints[0].encoded;
blob.cbData = ints[0].encoded[1] + 2;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTE, &attr,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -4997,7 +5001,7 @@ static void test_decodePKCSAttribute(DWORD dwEncoding)
DWORD size = 0;
CRYPT_ATTRIBUTE *attr;
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
emptyPKCSAttr, sizeof(emptyPKCSAttr),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5011,7 +5015,7 @@ static void test_decodePKCSAttribute(DWORD dwEncoding)
LocalFree(buf);
}
SetLastError(0xdeadbeef);
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
bogusPKCSAttr, sizeof(bogusPKCSAttr),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
/* Native fails with CRYPT_E_ASN1_EOD, accept also CRYPT_E_ASN1_CORRUPT as
@@ -5021,7 +5025,7 @@ static void test_decodePKCSAttribute(DWORD dwEncoding)
GetLastError() == CRYPT_E_ASN1_CORRUPT),
"Expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %x\n",
GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTE,
intPKCSAttr, sizeof(intPKCSAttr),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5056,7 +5060,7 @@ static void test_encodePKCSAttributes(DWORD dwEncoding)
DWORD size = 0;
char oid1[] = "1.2.3", oid2[] = "1.5.6";
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %x\n", GetLastError());
if (buf)
@@ -5068,12 +5072,12 @@ static void test_encodePKCSAttributes(DWORD dwEncoding)
attributes.cAttr = 1;
attributes.rgAttr = attr;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %x\n", GetLastError());
attr[0].pszObjId = oid1;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
{
@@ -5087,7 +5091,7 @@ static void test_encodePKCSAttributes(DWORD dwEncoding)
blob.pbData = (BYTE *)ints[0].encoded;
blob.cbData = ints[0].encoded[1] + 2;
attributes.cAttr = 2;
- ret = CryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS_ATTRIBUTES, &attributes,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %x\n", GetLastError());
if (buf)
@@ -5105,7 +5109,7 @@ static void test_decodePKCSAttributes(DWORD dwEncoding)
DWORD size = 0;
CRYPT_ATTRIBUTES *attributes;
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
emptyPKCSAttributes, sizeof(emptyPKCSAttributes),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5116,7 +5120,7 @@ static void test_decodePKCSAttributes(DWORD dwEncoding)
attributes->cAttr);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
singlePKCSAttributes, sizeof(singlePKCSAttributes),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5131,7 +5135,7 @@ static void test_decodePKCSAttributes(DWORD dwEncoding)
"Expected no attributes, got %d\n", attributes->rgAttr[0].cValue);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS_ATTRIBUTES,
doublePKCSAttributes, sizeof(doublePKCSAttributes),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5206,7 +5210,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
CRYPT_ATTRIBUTE attr = { oid_common_name, 1, &commonName };
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
@@ -5217,7 +5221,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
info.Issuer.cbData = sizeof(encodedCommonNameNoNull);
info.Issuer.pbData = encodedCommonNameNoNull;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5238,7 +5242,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
info.SerialNumber.cbData = sizeof(serialNum);
info.SerialNumber.pbData = (BYTE *)serialNum;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5260,7 +5264,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
}
info.HashAlgorithm.pszObjId = oid1;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5282,7 +5286,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
}
info.HashEncryptionAlgorithm.pszObjId = oid2;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5305,7 +5309,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
info.EncryptedHash.cbData = sizeof(hash);
info.EncryptedHash.pbData = (BYTE *)hash;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5328,7 +5332,7 @@ static void test_encodePKCSSignerInfo(DWORD dwEncoding)
info.AuthAttrs.cAttr = 1;
info.AuthAttrs.rgAttr = &attr;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
+ ret = pCryptEncodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO, &info,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (!(dwEncoding & PKCS_7_ASN_ENCODING))
ok(!ret && GetLastError() == E_INVALIDARG,
@@ -5359,12 +5363,12 @@ static void test_decodePKCSSignerInfo(DWORD dwEncoding)
/* A PKCS signer can't be decoded without a serial number. */
SetLastError(0xdeadbeef);
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
minimalPKCSSigner, sizeof(minimalPKCSSigner),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == CRYPT_E_ASN1_CORRUPT,
"Expected CRYPT_E_ASN1_CORRUPT, got %x\n", GetLastError());
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
PKCSSignerWithSerial, sizeof(PKCSSignerWithSerial),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptDecodeObjectEx failed: %x\n", GetLastError());
@@ -5383,7 +5387,7 @@ static void test_decodePKCSSignerInfo(DWORD dwEncoding)
"Unexpected value\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
PKCSSignerWithHashAlgo, sizeof(PKCSSignerWithHashAlgo),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
@@ -5403,7 +5407,7 @@ static void test_decodePKCSSignerInfo(DWORD dwEncoding)
"Expected 1.2.3, got %s\n", info->HashAlgorithm.pszObjId);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
PKCSSignerWithHashAndEncryptionAlgo,
sizeof(PKCSSignerWithHashAndEncryptionAlgo), CRYPT_DECODE_ALLOC_FLAG,
NULL, (BYTE *)&buf, &size);
@@ -5426,7 +5430,7 @@ static void test_decodePKCSSignerInfo(DWORD dwEncoding)
"Expected 1.5.6, got %s\n", info->HashEncryptionAlgorithm.pszObjId);
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
PKCSSignerWithHash, sizeof(PKCSSignerWithHash),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
@@ -5452,7 +5456,7 @@ static void test_decodePKCSSignerInfo(DWORD dwEncoding)
"Unexpected value\n");
LocalFree(buf);
}
- ret = CryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
+ ret = pCryptDecodeObjectEx(dwEncoding, PKCS7_SIGNER_INFO,
PKCSSignerWithAuthAttr, sizeof(PKCSSignerWithAuthAttr),
CRYPT_DECODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
if (buf)
@@ -5503,7 +5507,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
LPBYTE buf;
DWORD size;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5515,12 +5519,12 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
constraints.cPermittedSubtree = 1;
constraints.rgPermittedSubtree = &permitted;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
permitted.Base.dwAltNameChoice = CERT_ALT_NAME_DNS_NAME;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5534,7 +5538,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
constraints.cExcludedSubtree = 1;
constraints.rgExcludedSubtree = &excluded;
excluded.Base.dwAltNameChoice = CERT_ALT_NAME_DNS_NAME;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5545,7 +5549,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
LocalFree(buf);
}
U(excluded.Base).pwszURL = (LPWSTR)url;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5559,7 +5563,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
U(permitted.Base).IPAddress.cbData = sizeof(encodedIPAddr);
U(permitted.Base).IPAddress.pbData = (LPBYTE)encodedIPAddr;
constraints.cPermittedSubtree = 1;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5571,7 +5575,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
LocalFree(buf);
}
permitted.dwMinimum = 5;
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5585,7 +5589,7 @@ static void test_encodeNameConstraints(DWORD dwEncoding)
permitted.fMaximum = TRUE;
permitted.dwMaximum = 3;
SetLastError(0xdeadbeef);
- ret = CryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
+ ret = pCryptEncodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS, &constraints,
CRYPT_ENCODE_ALLOC_FLAG, NULL, (BYTE *)&buf, &size);
ok(ret, "CryptEncodeObjectEx failed: %08x\n", GetLastError());
if (ret)
@@ -5652,7 +5656,7 @@ static void test_decodeNameConstraints(DWORD dwEncoding)
{
DWORD size;
- ret = CryptDecodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS,
+ ret = pCryptDecodeObjectEx(dwEncoding, X509_NAME_CONSTRAINTS,
encodedNameConstraints[i].encoded.pbData,
encodedNameConstraints[i].encoded.cbData,
CRYPT_DECODE_ALLOC_FLAG, NULL, &constraints, &size);
@@ -5852,8 +5856,18 @@ START_TEST(encode)
{
static const DWORD encodings[] = { X509_ASN_ENCODING, PKCS_7_ASN_ENCODING,
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING };
+ HMODULE hCrypt32;
DWORD i;
+ hCrypt32 = GetModuleHandleA("crypt32.dll");
+ pCryptDecodeObjectEx = (void*)GetProcAddress(hCrypt32, "CryptDecodeObjectEx");
+ pCryptEncodeObjectEx = (void*)GetProcAddress(hCrypt32, "CryptEncodeObjectEx");
+ if (!pCryptDecodeObjectEx || !pCryptEncodeObjectEx)
+ {
+ skip("CryptDecodeObjectEx() is not available\n");
+ return;
+ }
+
for (i = 0; i < sizeof(encodings) / sizeof(encodings[0]); i++)
{
test_encodeInt(encodings[i]);
diff --git a/dlls/crypt32/tests/oid.c b/dlls/crypt32/tests/oid.c
index f4f11f0..b4950fc 100644
--- a/dlls/crypt32/tests/oid.c
+++ b/dlls/crypt32/tests/oid.c
@@ -27,6 +27,10 @@
#include "wine/test.h"
+
+static BOOL (WINAPI *pCryptEnumOIDInfo)(DWORD,DWORD,void*,PFN_CRYPT_ENUM_OID_INFO);
+
+
struct OIDToAlgID
{
LPCSTR oid;
@@ -471,14 +475,20 @@ static void test_enumOIDInfo(void)
BOOL ret;
DWORD count = 0;
+ if (!pCryptEnumOIDInfo)
+ {
+ skip("CryptEnumOIDInfo() is not available\n");
+ return;
+ }
+
/* This crashes
- ret = CryptEnumOIDInfo(7, 0, NULL, NULL);
+ ret = pCryptEnumOIDInfo(7, 0, NULL, NULL);
*/
/* Silly tests, check that more than one thing is enumerated */
- ret = CryptEnumOIDInfo(0, 0, &count, countOidInfo);
+ ret = pCryptEnumOIDInfo(0, 0, &count, countOidInfo);
ok(ret && count > 0, "Expected more than item enumerated\n");
- ret = CryptEnumOIDInfo(0, 0, NULL, noOidInfo);
+ ret = pCryptEnumOIDInfo(0, 0, NULL, noOidInfo);
ok(!ret, "Expected FALSE\n");
}
@@ -532,6 +542,9 @@ static void test_findOIDInfo(void)
START_TEST(oid)
{
+ HMODULE hCrypt32 = GetModuleHandleA("crypt32.dll");
+ pCryptEnumOIDInfo = (void*)GetProcAddress(hCrypt32, "CryptEnumOIDInfo");
+
testOIDToAlgID();
testAlgIDToOID();
test_enumOIDInfo();
diff --git a/dlls/crypt32/tests/protectdata.c b/dlls/crypt32/tests/protectdata.c
index 64ffa68..0dfad9a 100644
--- a/dlls/crypt32/tests/protectdata.c
+++ b/dlls/crypt32/tests/protectdata.c
@@ -27,6 +27,9 @@
#include "wine/test.h"
+static BOOL (WINAPI *pCryptProtectData)(DATA_BLOB*,LPCWSTR,DATA_BLOB*,PVOID,CRYPTPROTECT_PROMPTSTRUCT*,DWORD,DATA_BLOB*);
+static BOOL (WINAPI *pCryptUnprotectData)(DATA_BLOB*,LPWSTR*,DATA_BLOB*,PVOID,CRYPTPROTECT_PROMPTSTRUCT*,DWORD,DATA_BLOB*);
+
static char secret[] = "I am a super secret string that no one can see!";
static char secret2[] = "I am a super secret string indescribable string";
static char key[] = "Wibble wibble wibble";
@@ -49,13 +52,13 @@ static void test_cryptprotectdata(void)
entropy.cbData=strlen(key)+1;
SetLastError(0xDEADBEEF);
- protected = CryptProtectData(NULL,desc,NULL,NULL,NULL,0,&cipher);
+ protected = pCryptProtectData(NULL,desc,NULL,NULL,NULL,0,&cipher);
ok(!protected, "Encrypting without plain data source.\n");
r = GetLastError();
ok(r == ERROR_INVALID_PARAMETER, "Wrong (%u) GetLastError seen\n",r);
SetLastError(0xDEADBEEF);
- protected = CryptProtectData(&plain,desc,NULL,NULL,NULL,0,NULL);
+ protected = pCryptProtectData(&plain,desc,NULL,NULL,NULL,0,NULL);
ok(!protected, "Encrypting without cipher destination.\n");
r = GetLastError();
ok(r == ERROR_INVALID_PARAMETER, "Wrong (%u) GetLastError seen\n",r);
@@ -65,7 +68,7 @@ static void test_cryptprotectdata(void)
/* without entropy */
SetLastError(0xDEADBEEF);
- protected = CryptProtectData(&plain,desc,NULL,NULL,NULL,0,&cipher);
+ protected = pCryptProtectData(&plain,desc,NULL,NULL,NULL,0,&cipher);
ok(protected, "Encrypting without entropy.\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -75,7 +78,7 @@ static void test_cryptprotectdata(void)
/* with entropy */
SetLastError(0xDEADBEEF);
- protected = CryptProtectData(&plain,desc,&entropy,NULL,NULL,0,&cipher_entropy);
+ protected = pCryptProtectData(&plain,desc,&entropy,NULL,NULL,0,&cipher_entropy);
ok(protected, "Encrypting with entropy.\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -87,7 +90,7 @@ static void test_cryptprotectdata(void)
plain.pbData=(void*)secret2;
plain.cbData=strlen(secret2)+1;
SetLastError(0xDEADBEEF);
- protected = CryptProtectData(&plain,NULL,&entropy,NULL,NULL,0,&cipher_no_desc);
+ protected = pCryptProtectData(&plain,NULL,&entropy,NULL,NULL,0,&cipher_no_desc);
ok(protected, "Encrypting with entropy and no description.\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -111,13 +114,13 @@ static void test_cryptunprotectdata(void)
plain.cbData=0;
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher,NULL,NULL,NULL,NULL,0,NULL);
+ okay = pCryptUnprotectData(&cipher,NULL,NULL,NULL,NULL,0,NULL);
ok(!okay,"Decrypting without destination\n");
r = GetLastError();
ok(r == ERROR_INVALID_PARAMETER, "Wrong (%u) GetLastError seen\n",r);
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(NULL,NULL,NULL,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(NULL,NULL,NULL,NULL,NULL,0,&plain);
ok(!okay,"Decrypting without source\n");
r = GetLastError();
ok(r == ERROR_INVALID_PARAMETER, "Wrong (%u) GetLastError seen\n",r);
@@ -126,7 +129,7 @@ static void test_cryptunprotectdata(void)
plain.cbData=0;
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher_entropy,NULL,NULL,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(&cipher_entropy,NULL,NULL,NULL,NULL,0,&plain);
ok(!okay,"Decrypting without needed entropy\n");
r = GetLastError();
ok(r == ERROR_INVALID_DATA, "Wrong (%u) GetLastError seen\n", r);
@@ -137,7 +140,7 @@ static void test_cryptunprotectdata(void)
/* without entropy */
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher,&data_desc,NULL,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(&cipher,&data_desc,NULL,NULL,NULL,0,&plain);
ok(okay,"Decrypting without entropy\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -157,14 +160,14 @@ static void test_cryptunprotectdata(void)
/* with wrong entropy */
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher_entropy,&data_desc,&cipher_entropy,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(&cipher_entropy,&data_desc,&cipher_entropy,NULL,NULL,0,&plain);
ok(!okay,"Decrypting with wrong entropy\n");
r = GetLastError();
ok(r == ERROR_INVALID_DATA, "Wrong (%u) GetLastError seen\n",r);
/* with entropy */
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher_entropy,&data_desc,&entropy,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(&cipher_entropy,&data_desc,&entropy,NULL,NULL,0,&plain);
ok(okay,"Decrypting with entropy\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -184,7 +187,7 @@ static void test_cryptunprotectdata(void)
/* with entropy but no description */
SetLastError(0xDEADBEEF);
- okay = CryptUnprotectData(&cipher_no_desc,&data_desc,&entropy,NULL,NULL,0,&plain);
+ okay = pCryptUnprotectData(&cipher_no_desc,&data_desc,&entropy,NULL,NULL,0,&plain);
ok(okay,"Decrypting with entropy and no description\n");
r = GetLastError();
ok(r == ERROR_SUCCESS, "Wrong (%u) GetLastError seen\n",r);
@@ -204,8 +207,17 @@ static void test_cryptunprotectdata(void)
START_TEST(protectdata)
{
- protected=FALSE;
+ HMODULE hCrypt32 = GetModuleHandleA("crypt32.dll");
+ hCrypt32 = GetModuleHandleA("crypt32.dll");
+ pCryptProtectData = (void*)GetProcAddress(hCrypt32, "CryptProtectData");
+ pCryptUnprotectData = (void*)GetProcAddress(hCrypt32, "CryptUnprotectData");
+ if (!pCryptProtectData || !pCryptUnprotectData)
+ {
+ skip("Crypt(Un)ProtectData() is not available\n");
+ return;
+ }
+ protected=FALSE;
test_cryptprotectdata();
test_cryptunprotectdata();
diff --git a/dlls/crypt32/tests/store.c b/dlls/crypt32/tests/store.c
index 05ea5e0..95c8054 100644
--- a/dlls/crypt32/tests/store.c
+++ b/dlls/crypt32/tests/store.c
@@ -94,6 +94,15 @@ static const BYTE bigCert2[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
0x00, 0xa3, 0x16, 0x30, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
+
+static BOOL (WINAPI *pCertAddStoreToCollection)(HCERTSTORE,HCERTSTORE,DWORD,DWORD);
+static BOOL (WINAPI *pCertControlStore)(HCERTSTORE,DWORD,DWORD,void const*);
+static PCCRL_CONTEXT (WINAPI *pCertEnumCRLsInStore)(HCERTSTORE,PCCRL_CONTEXT);
+static BOOL (WINAPI *pCertEnumSystemStore)(DWORD,void*,void*,PFN_CERT_ENUM_SYSTEM_STORE);
+static BOOL (WINAPI *pCertGetStoreProperty)(HCERTSTORE,DWORD,void*,DWORD*);
+static void (WINAPI *pCertRemoveStoreFromCollection)(HCERTSTORE,HCERTSTORE);
+static BOOL (WINAPI *pCertSetStoreProperty)(HCERTSTORE,DWORD,DWORD,const void*);
+
static void testMemStore(void)
{
HCERTSTORE store1, store2;
@@ -274,6 +283,12 @@ static void testCollectionStore(void)
PCCERT_CONTEXT context;
BOOL ret;
+ if (!pCertAddStoreToCollection)
+ {
+ skip("CertAddStoreToCollection() is not available\n");
+ return;
+ }
+
collection = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
@@ -290,7 +305,7 @@ static void testCollectionStore(void)
bigCert, sizeof(bigCert), CERT_STORE_ADD_ALWAYS, NULL);
ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
/* Add the memory store to the collection, without allowing adding */
- ret = CertAddStoreToCollection(collection, store1, 0, 0);
+ ret = pCertAddStoreToCollection(collection, store1, 0, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
/* Verify the cert is in the collection */
context = CertEnumCertificatesInStore(collection, NULL);
@@ -310,26 +325,26 @@ static void testCollectionStore(void)
store2 = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
/* Try adding a store to a non-collection store */
- ret = CertAddStoreToCollection(store1, store2,
+ ret = pCertAddStoreToCollection(store1, store2,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(!ret && GetLastError() == E_INVALIDARG,
"Expected E_INVALIDARG, got %08x\n", GetLastError());
/* Try adding some bogus stores */
/* This crashes in Windows
- ret = CertAddStoreToCollection(0, store2,
+ ret = pCertAddStoreToCollection(0, store2,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
*/
/* This "succeeds"... */
- ret = CertAddStoreToCollection(collection, 0,
+ ret = pCertAddStoreToCollection(collection, 0,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
/* while this crashes.
- ret = CertAddStoreToCollection(collection, 1,
+ ret = pCertAddStoreToCollection(collection, 1,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
*/
/* Add it to the collection, this time allowing adding */
- ret = CertAddStoreToCollection(collection, store2,
+ ret = pCertAddStoreToCollection(collection, store2,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
/* Check that adding to the collection is allowed */
@@ -397,7 +412,7 @@ static void testCollectionStore(void)
/* Adding a collection to a collection is legal */
collection2 = CertOpenStore(CERT_STORE_PROV_COLLECTION, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
- ret = CertAddStoreToCollection(collection2, collection,
+ ret = pCertAddStoreToCollection(collection2, collection,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
/* check the contents of collection2 */
@@ -457,10 +472,10 @@ static void testCollectionStore(void)
CERT_STORE_CREATE_NEW_FLAG, NULL);
ok(collection != 0, "CertOpenStore failed: %08x\n", GetLastError());
- ret = CertAddStoreToCollection(collection, store1,
+ ret = pCertAddStoreToCollection(collection, store1,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
- ret = CertAddStoreToCollection(collection, store2,
+ ret = pCertAddStoreToCollection(collection, store2,
CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG, 0);
ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
@@ -528,25 +543,32 @@ static void testCollectionStore(void)
ok(context == NULL, "Unexpected cert\n");
}
- /* Finally, test removing stores from the collection. No return value, so
- * it's a bit funny to test.
- */
- /* This crashes
- CertRemoveStoreFromCollection(NULL, NULL);
- */
- /* This "succeeds," no crash, no last error set */
- SetLastError(0xdeadbeef);
- CertRemoveStoreFromCollection(store2, collection);
- ok(GetLastError() == 0xdeadbeef,
- "Didn't expect an error to be set: %08x\n", GetLastError());
-
- /* After removing store2, the collection should be empty */
- SetLastError(0xdeadbeef);
- CertRemoveStoreFromCollection(collection, store2);
- ok(GetLastError() == 0xdeadbeef,
- "Didn't expect an error to be set: %08x\n", GetLastError());
- context = CertEnumCertificatesInStore(collection, NULL);
- ok(!context, "Unexpected cert\n");
+ if (!pCertRemoveStoreFromCollection)
+ {
+ skip("CertRemoveStoreFromCollection() is not available\n");
+ }
+ else
+ {
+ /* Finally, test removing stores from the collection. No return
+ * value, so it's a bit funny to test.
+ */
+ /* This crashes
+ * pCertRemoveStoreFromCollection(NULL, NULL);
+ */
+ /* This "succeeds," no crash, no last error set */
+ SetLastError(0xdeadbeef);
+ pCertRemoveStoreFromCollection(store2, collection);
+ ok(GetLastError() == 0xdeadbeef,
+ "Didn't expect an error to be set: %08x\n", GetLastError());
+
+ /* After removing store2, the collection should be empty */
+ SetLastError(0xdeadbeef);
+ pCertRemoveStoreFromCollection(collection, store2);
+ ok(GetLastError() == 0xdeadbeef,
+ "Didn't expect an error to be set: %08x\n", GetLastError());
+ context = CertEnumCertificatesInStore(collection, NULL);
+ ok(!context, "Unexpected cert\n");
+ }
CertCloseStore(collection, 0);
CertCloseStore(store2, 0);
@@ -614,6 +636,13 @@ static void testRegStore(void)
todo_wine ok(store != 0, "CertOpenStore failed: %08x\n", GetLastError());
CertCloseStore(store, 0);
+ /* It looks like the remainder pretty much needs CertControlStore() */
+ if (!pCertControlStore)
+ {
+ skip("CertControlStore() is not available\n");
+ return;
+ }
+
rc = RegCreateKeyExA(HKEY_CURRENT_USER, tempKey, 0, NULL, 0, KEY_ALL_ACCESS,
NULL, &key, NULL);
ok(!rc, "RegCreateKeyExA failed: %d\n", rc);
@@ -637,7 +666,7 @@ static void testRegStore(void)
ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n",
GetLastError());
/* so flush the cache to force a commit.. */
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(ret, "CertControlStore failed: %08x\n", GetLastError());
/* and check that the expected subkey was written. */
size = sizeof(hash);
@@ -696,7 +725,7 @@ static void testRegStore(void)
ok(context != NULL, "Expected a cert context\n");
if (context)
CertDeleteCertificateFromStore(context);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(ret, "CertControlStore failed: %08x\n", GetLastError());
/* Add a serialized cert with a bogus hash directly to the registry */
@@ -733,7 +762,7 @@ static void testRegStore(void)
sizeof(buf));
ok(!rc, "RegSetValueExA failed: %d\n", rc);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
ok(ret, "CertControlStore failed: %08x\n", GetLastError());
/* Make sure the bogus hash cert gets loaded. */
@@ -790,7 +819,7 @@ static void testRegStore(void)
sizeof(buf));
ok(!rc, "RegSetValueExA failed: %d\n", rc);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
ok(ret, "CertControlStore failed: %08x\n", GetLastError());
/* and make sure just one cert still gets loaded. */
@@ -811,7 +840,7 @@ static void testRegStore(void)
sizeof(buf));
ok(!rc, "RegSetValueExA failed: %d\n", rc);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_RESYNC, NULL);
ok(ret, "CertControlStore failed: %08x\n", GetLastError());
/* and make sure two certs get loaded. */
@@ -893,10 +922,12 @@ static void testSystemRegStore(void)
CERT_STORE_CREATE_NEW_FLAG, NULL);
if (memStore)
{
- BOOL ret = CertAddStoreToCollection(store, memStore, 0, 0);
-
- ok(!ret && GetLastError() == E_INVALIDARG,
- "Expected E_INVALIDARG, got %08x\n", GetLastError());
+ if (pCertAddStoreToCollection)
+ {
+ BOOL ret = pCertAddStoreToCollection(store, memStore, 0, 0);
+ ok(!ret && GetLastError() == E_INVALIDARG,
+ "Expected E_INVALIDARG, got %08x\n", GetLastError());
+ }
CertCloseStore(memStore, 0);
}
CertCloseStore(store, 0);
@@ -984,10 +1015,12 @@ static void testSystemStore(void)
/* Check that it's a collection store */
if (memStore)
{
- BOOL ret = CertAddStoreToCollection(store, memStore, 0, 0);
-
- /* FIXME: this'll fail on NT4, but what error will it give? */
- ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
+ if (pCertAddStoreToCollection)
+ {
+ BOOL ret = pCertAddStoreToCollection(store, memStore, 0, 0);
+ /* FIXME: this'll fail on NT4, but what error will it give? */
+ ok(ret, "CertAddStoreToCollection failed: %08x\n", GetLastError());
+ }
CertCloseStore(memStore, 0);
}
CertCloseStore(store, 0);
@@ -1073,7 +1106,13 @@ static void testFileStore(void)
BOOL ret;
PCCERT_CONTEXT cert;
HANDLE file;
-
+
+ if (!pCertControlStore)
+ {
+ skip("CertControlStore() is not available\n");
+ return;
+ }
+
store = CertOpenStore(CERT_STORE_PROV_FILE, 0, 0, 0, NULL);
ok(!store && GetLastError() == ERROR_INVALID_HANDLE,
"Expected ERROR_INVALID_HANDLE, got %08x\n", GetLastError());
@@ -1109,7 +1148,7 @@ static void testFileStore(void)
/* apparently allows adding certificates.. */
ok(ret, "CertAddEncodedCertificateToStore failed: %d\n", ret);
/* but not commits.. */
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED,
"Expected ERROR_CALL_NOT_IMPLEMENTED, got %08x\n", GetLastError());
/* It still has certs in memory.. */
@@ -1133,7 +1172,7 @@ static void testFileStore(void)
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
bigCert, sizeof(bigCert), CERT_STORE_ADD_ALWAYS, NULL);
ok(ret, "CertAddEncodedCertificateToStore failed: %d\n", ret);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED,
"Expected ERROR_CALL_NOT_IMPLEMENTED, got %08x\n", GetLastError());
CertCloseStore(store, 0);
@@ -1148,7 +1187,7 @@ static void testFileStore(void)
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
bigCert, sizeof(bigCert), CERT_STORE_ADD_ALWAYS, NULL);
ok(ret, "CertAddEncodedCertificateToStore failed: %d\n", ret);
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(!ret && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED,
"Expected ERROR_CALL_NOT_IMPLEMENTED, got %08x\n", GetLastError());
CertCloseStore(store, 0);
@@ -1164,7 +1203,7 @@ static void testFileStore(void)
ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n",
GetLastError());
/* with commits enabled, commit is allowed */
- ret = CertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
+ ret = pCertControlStore(store, 0, CERT_STORE_CTRL_COMMIT, NULL);
ok(ret, "CertControlStore failed: %d\n", ret);
compareFile(filename, serializedStoreWithCert,
sizeof(serializedStoreWithCert));
@@ -1248,8 +1287,11 @@ static void testFileNameStore(void)
GetLastError());
cert = CertEnumCertificatesInStore(store, cert);
ok(!cert, "Expected only one cert\n");
- crl = CertEnumCRLsInStore(store, NULL);
- ok(!crl, "Expected no CRLs\n");
+ if (pCertEnumCRLsInStore)
+ {
+ crl = pCertEnumCRLsInStore(store, NULL);
+ ok(!crl, "Expected no CRLs\n");
+ }
CertCloseStore(store, 0);
DeleteFileW(filename);
@@ -1269,8 +1311,11 @@ static void testFileNameStore(void)
GetLastError());
cert = CertEnumCertificatesInStore(store, cert);
ok(!cert, "Expected only one cert\n");
- crl = CertEnumCRLsInStore(store, NULL);
- ok(!crl, "Expected no CRLs\n");
+ if (pCertEnumCRLsInStore)
+ {
+ crl = pCertEnumCRLsInStore(store, NULL);
+ ok(!crl, "Expected no CRLs\n");
+ }
CertCloseStore(store, 0);
DeleteFileW(filename);
@@ -1290,10 +1335,13 @@ static void testFileNameStore(void)
GetLastError());
cert = CertEnumCertificatesInStore(store, cert);
ok(!cert, "Expected only one cert\n");
- crl = CertEnumCRLsInStore(store, NULL);
- ok(crl != NULL, "CertEnumCRLsInStore failed: %08x\n", GetLastError());
- crl = CertEnumCRLsInStore(store, crl);
- ok(!crl, "Expected only one CRL\n");
+ if (pCertEnumCRLsInStore)
+ {
+ crl = pCertEnumCRLsInStore(store, NULL);
+ ok(crl != NULL, "CertEnumCRLsInStore failed: %08x\n", GetLastError());
+ crl = pCertEnumCRLsInStore(store, crl);
+ ok(!crl, "Expected only one CRL\n");
+ }
CertCloseStore(store, 0);
/* Don't delete it this time, the next test uses it */
@@ -1416,13 +1464,16 @@ static void testMessageStore(void)
} while (cert);
ok(count == 0, "Expected 0 certificates, got %d\n", count);
- count = 0;
- do {
- crl = CertEnumCRLsInStore(store, crl);
- if (crl)
- count++;
- } while (crl);
- ok(count == 0, "Expected 0 CRLs, got %d\n", count);
+ if (pCertEnumCRLsInStore)
+ {
+ count = 0;
+ do {
+ crl = pCertEnumCRLsInStore(store, crl);
+ if (crl)
+ count++;
+ } while (crl);
+ ok(count == 0, "Expected 0 CRLs, got %d\n", count);
+ }
/* Can add certs to a message store */
ret = CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING,
@@ -1464,13 +1515,16 @@ static void testMessageStore(void)
} while (cert);
ok(count == 1, "Expected 1 certificate, got %d\n", count);
- count = 0;
- do {
- crl = CertEnumCRLsInStore(store, crl);
- if (crl)
- count++;
- } while (crl);
- ok(count == 1, "Expected 1 CRL, got %d\n", count);
+ if (pCertEnumCRLsInStore)
+ {
+ count = 0;
+ do {
+ crl = pCertEnumCRLsInStore(store, crl);
+ if (crl)
+ count++;
+ } while (crl);
+ ok(count == 1, "Expected 1 CRL, got %d\n", count);
+ }
CertCloseStore(store, 0);
}
/* Encoding appears to be ignored */
@@ -1534,17 +1588,23 @@ static void testCertEnumSystemStore(void)
BOOL ret;
struct EnumSystemStoreInfo info = { FALSE, 0 };
+ if (!pCertEnumSystemStore)
+ {
+ skip("CertEnumSystemStore() is not available\n");
+ return;
+ }
+
SetLastError(0xdeadbeef);
- ret = CertEnumSystemStore(0, NULL, NULL, NULL);
+ ret = pCertEnumSystemStore(0, NULL, NULL, NULL);
ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND,
"Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
/* Crashes
- ret = CertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, NULL,
+ ret = pCertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, NULL,
NULL);
*/
SetLastError(0xdeadbeef);
- ret = CertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, &info,
+ ret = pCertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, &info,
enumSystemStoreCB);
/* Callback returning FALSE stops enumeration */
ok(!ret, "Expected CertEnumSystemStore to stop\n");
@@ -1553,7 +1613,7 @@ static void testCertEnumSystemStore(void)
info.goOn = TRUE;
info.storeCount = 0;
- ret = CertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, &info,
+ ret = pCertEnumSystemStore(CERT_SYSTEM_STORE_LOCAL_MACHINE, NULL, &info,
enumSystemStoreCB);
ok(ret, "CertEnumSystemStore failed: %08x\n", GetLastError());
/* There should always be at least My, Root, and CA stores */
@@ -1568,52 +1628,58 @@ static void testStoreProperty(void)
DWORD propID, size = 0, state;
CRYPT_DATA_BLOB blob;
+ if (!pCertGetStoreProperty || !pCertSetStoreProperty)
+ {
+ skip("CertGet/SetStoreProperty() is not available\n");
+ return;
+ }
+
/* Crash
- ret = CertGetStoreProperty(NULL, 0, NULL, NULL);
- ret = CertGetStoreProperty(NULL, 0, NULL, &size);
- ret = CertGetStoreProperty(store, 0, NULL, NULL);
+ ret = pCertGetStoreProperty(NULL, 0, NULL, NULL);
+ ret = pCertGetStoreProperty(NULL, 0, NULL, &size);
+ ret = pCertGetStoreProperty(store, 0, NULL, NULL);
*/
store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
/* Check a missing prop ID */
SetLastError(0xdeadbeef);
- ret = CertGetStoreProperty(store, 0, NULL, &size);
+ ret = pCertGetStoreProperty(store, 0, NULL, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
/* Contrary to MSDN, CERT_ACCESS_STATE_PROP_ID is supported for stores.. */
size = sizeof(state);
- ret = CertGetStoreProperty(store, CERT_ACCESS_STATE_PROP_ID, &state, &size);
+ ret = pCertGetStoreProperty(store, CERT_ACCESS_STATE_PROP_ID, &state, &size);
ok(ret, "CertGetStoreProperty failed for CERT_ACCESS_STATE_PROP_ID: %08x\n",
GetLastError());
ok(!state, "Expected a non-persisted store\n");
/* and CERT_STORE_LOCALIZED_NAME_PROP_ID isn't supported by default. */
size = 0;
- ret = CertGetStoreProperty(store, CERT_STORE_LOCALIZED_NAME_PROP_ID, NULL,
+ ret = pCertGetStoreProperty(store, CERT_STORE_LOCALIZED_NAME_PROP_ID, NULL,
&size);
ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
/* Delete an arbitrary property on a store */
- ret = CertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, NULL);
+ ret = pCertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, NULL);
ok(ret, "CertSetStoreProperty failed: %08x\n", GetLastError());
/* Set an arbitrary property on a store */
blob.pbData = (LPBYTE)&state;
blob.cbData = sizeof(state);
- ret = CertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, &blob);
+ ret = pCertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, &blob);
ok(ret, "CertSetStoreProperty failed: %08x\n", GetLastError());
/* Get an arbitrary property that's been set */
- ret = CertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, NULL, &size);
+ ret = pCertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, NULL, &size);
ok(ret, "CertGetStoreProperty failed: %08x\n", GetLastError());
ok(size == sizeof(state), "Unexpected data size %d\n", size);
- ret = CertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, &propID, &size);
+ ret = pCertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, &propID, &size);
ok(ret, "CertGetStoreProperty failed: %08x\n", GetLastError());
ok(propID == state, "CertGetStoreProperty got the wrong value\n");
/* Delete it again */
- ret = CertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, NULL);
+ ret = pCertSetStoreProperty(store, CERT_FIRST_USER_PROP_ID, 0, NULL);
ok(ret, "CertSetStoreProperty failed: %08x\n", GetLastError());
/* And check that it's missing */
SetLastError(0xdeadbeef);
- ret = CertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, NULL, &size);
+ ret = pCertGetStoreProperty(store, CERT_FIRST_USER_PROP_ID, NULL, &size);
ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
CertCloseStore(store, 0);
@@ -1621,13 +1687,13 @@ static void testStoreProperty(void)
/* Recheck on the My store.. */
store = CertOpenSystemStoreW(0, MyW);
size = sizeof(state);
- ret = CertGetStoreProperty(store, CERT_ACCESS_STATE_PROP_ID, &state, &size);
+ ret = pCertGetStoreProperty(store, CERT_ACCESS_STATE_PROP_ID, &state, &size);
ok(ret, "CertGetStoreProperty failed for CERT_ACCESS_STATE_PROP_ID: %08x\n",
GetLastError());
ok(state, "Expected a persisted store\n");
SetLastError(0xdeadbeef);
size = 0;
- ret = CertGetStoreProperty(store, CERT_STORE_LOCALIZED_NAME_PROP_ID, NULL,
+ ret = pCertGetStoreProperty(store, CERT_STORE_LOCALIZED_NAME_PROP_ID, NULL,
&size);
ok(!ret && GetLastError() == CRYPT_E_NOT_FOUND,
"Expected CRYPT_E_NOT_FOUND, got %08x\n", GetLastError());
@@ -1807,7 +1873,7 @@ static DWORD countCRLsInStore(HCERTSTORE store)
DWORD crls = 0;
do {
- crl = CertEnumCRLsInStore(store, crl);
+ crl = pCertEnumCRLsInStore(store, crl);
if (crl)
crls++;
} while (crl);
@@ -1869,8 +1935,11 @@ static void test_I_UpdateStore(void)
ok(ret, "I_CertUpdateStore failed: %08x\n", GetLastError());
certs = countCertsInStore(store1);
ok(certs == 1, "Expected 1 cert, got %d\n", certs);
- certs = countCRLsInStore(store1);
- ok(certs == 1, "Expected 1 CRL, got %d\n", certs);
+ if (pCertEnumCRLsInStore)
+ {
+ certs = countCRLsInStore(store1);
+ ok(certs == 1, "Expected 1 CRL, got %d\n", certs);
+ }
CertDeleteCertificateFromStore(cert);
/* If a context is deleted from store2, I_CertUpdateStore delets it
@@ -1888,6 +1957,17 @@ static void test_I_UpdateStore(void)
START_TEST(store)
{
+ HMODULE hdll;
+
+ hdll = GetModuleHandleA("Crypt32.dll");
+ pCertAddStoreToCollection = (void*)GetProcAddress(hdll, "CertAddStoreToCollection");
+ pCertControlStore = (void*)GetProcAddress(hdll, "CertControlStore");
+ pCertEnumCRLsInStore = (void*)GetProcAddress(hdll, "CertEnumCRLsInStore");
+ pCertEnumSystemStore = (void*)GetProcAddress(hdll, "CertEnumSystemStore");
+ pCertGetStoreProperty = (void*)GetProcAddress(hdll, "CertGetStoreProperty");
+ pCertRemoveStoreFromCollection = (void*)GetProcAddress(hdll, "CertRemoveStoreFromCollection");
+ pCertSetStoreProperty = (void*)GetProcAddress(hdll, "CertSetStoreProperty");
+
/* various combinations of CertOpenStore */
testMemStore();
testCollectionStore();
--
1.5.3.4
More information about the wine-patches
mailing list