secur32: Improve SECPKG_ATTR_CIPHER_STRENGTHS stub.
This commit is contained in:
parent
d11e30e484
commit
87368bb623
|
@ -39,7 +39,7 @@ static SECURITY_STATUS schan_QueryCredentialsAttributes(
|
|||
if (pBuffer)
|
||||
{
|
||||
/* FIXME: get from CryptoAPI */
|
||||
FIXME("%d: stub\n", ulAttribute);
|
||||
FIXME("SECPKG_ATTR_SUPPORTED_ALGS: stub\n");
|
||||
ret = SEC_E_UNSUPPORTED_FUNCTION;
|
||||
}
|
||||
else
|
||||
|
@ -48,9 +48,13 @@ static SECURITY_STATUS schan_QueryCredentialsAttributes(
|
|||
case SECPKG_ATTR_CIPHER_STRENGTHS:
|
||||
if (pBuffer)
|
||||
{
|
||||
SecPkgCred_CipherStrengths *r = (SecPkgCred_CipherStrengths*)pBuffer;
|
||||
|
||||
/* FIXME: get from CryptoAPI */
|
||||
FIXME("%d: stub\n", ulAttribute);
|
||||
ret = SEC_E_UNSUPPORTED_FUNCTION;
|
||||
FIXME("SECPKG_ATTR_CIPHER_STRENGTHS: semi-stub\n");
|
||||
r->dwMinimumCipherStrength = 40;
|
||||
r->dwMaximumCipherStrength = 168;
|
||||
ret = SEC_E_OK;
|
||||
}
|
||||
else
|
||||
ret = SEC_E_INTERNAL_ERROR;
|
||||
|
@ -59,7 +63,7 @@ static SECURITY_STATUS schan_QueryCredentialsAttributes(
|
|||
if (pBuffer)
|
||||
{
|
||||
/* FIXME: get from OpenSSL? */
|
||||
FIXME("%d: stub\n", ulAttribute);
|
||||
FIXME("SECPKG_ATTR_SUPPORTED_PROTOCOLS: stub\n");
|
||||
ret = SEC_E_UNSUPPORTED_FUNCTION;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -31,6 +31,7 @@ static HMODULE secdll, crypt32dll;
|
|||
|
||||
static ACQUIRE_CREDENTIALS_HANDLE_FN_A pAcquireCredentialsHandleA;
|
||||
static FREE_CREDENTIALS_HANDLE_FN pFreeCredentialsHandle;
|
||||
static QUERY_CREDENTIALS_ATTRIBUTES_FN_A pQueryCredentialsAttributesA;
|
||||
|
||||
static PCCERT_CONTEXT (WINAPI *pCertCreateCertificateContext)(DWORD,const BYTE*,DWORD);
|
||||
static BOOL (WINAPI *pCertFreeCertificateContext)(PCCERT_CONTEXT);
|
||||
|
@ -120,6 +121,7 @@ static void InitFunctionPtrs(void)
|
|||
{
|
||||
GET_PROC(secdll, AcquireCredentialsHandleA);
|
||||
GET_PROC(secdll, FreeCredentialsHandle);
|
||||
GET_PROC(secdll, QueryCredentialsAttributesA);
|
||||
}
|
||||
|
||||
GET_PROC(advapi32dll, CryptAcquireContextW);
|
||||
|
@ -134,6 +136,18 @@ static void InitFunctionPtrs(void)
|
|||
#undef GET_PROC
|
||||
}
|
||||
|
||||
static void test_strength(PCredHandle handle)
|
||||
{
|
||||
SecPkgCred_CipherStrengths strength = {-1,-1};
|
||||
SECURITY_STATUS st;
|
||||
|
||||
st = pQueryCredentialsAttributesA(handle, SECPKG_ATTR_CIPHER_STRENGTHS, &strength);
|
||||
ok(st == SEC_E_OK, "QueryCredentialsAttributesA failed: %u\n", GetLastError());
|
||||
ok(strength.dwMinimumCipherStrength, "dwMinimumCipherStrength not changed\n");
|
||||
ok(strength.dwMaximumCipherStrength, "dwMaximumCipherStrength not changed\n");
|
||||
trace("strength %d - %d\n", strength.dwMinimumCipherStrength, strength.dwMaximumCipherStrength);
|
||||
}
|
||||
|
||||
static void testAcquireSecurityContext(void)
|
||||
{
|
||||
SECURITY_STATUS st;
|
||||
|
@ -347,6 +361,7 @@ static void testAcquireSecurityContext(void)
|
|||
st = pAcquireCredentialsHandleA(NULL, unisp_name_a, SECPKG_CRED_INBOUND,
|
||||
NULL, &schanCred, NULL, NULL, &cred, NULL);
|
||||
ok(st == SEC_E_OK, "AcquireCredentialsHandleA failed: %08x\n", st);
|
||||
test_strength(&cred);
|
||||
pFreeCredentialsHandle(&cred);
|
||||
|
||||
/* How about more than one cert? */
|
||||
|
|
Loading…
Reference in New Issue