26 #define SECURITY_WIN32 34 static const BYTE bigCert[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
35 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
36 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22,
37 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30,
38 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30,
39 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30,
40 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20,
41 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01,
42 0x00, 0xa3, 0x16, 0x30, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
43 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
44 static WCHAR cspNameW[] = {
'W',
'i',
'n',
'e',
'C',
'r',
'y',
'p',
't',
'T',
'e',
47 0x07, 0x02, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x52, 0x53, 0x41, 0x32, 0x00,
48 0x02, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x79, 0x10, 0x1c, 0xd0, 0x6b, 0x10,
49 0x18, 0x30, 0x94, 0x61, 0xdc, 0x0e, 0xcb, 0x96, 0x4e, 0x21, 0x3f, 0x79, 0xcd,
50 0xa9, 0x17, 0x62, 0xbc, 0xbb, 0x61, 0x4c, 0xe0, 0x75, 0x38, 0x6c, 0xf3, 0xde,
51 0x60, 0x86, 0x03, 0x97, 0x65, 0xeb, 0x1e, 0x6b, 0xdb, 0x53, 0x85, 0xad, 0x68,
52 0x21, 0xf1, 0x5d, 0xe7, 0x1f, 0xe6, 0x53, 0xb4, 0xbb, 0x59, 0x3e, 0x14, 0x27,
53 0xb1, 0x83, 0xa7, 0x3a, 0x54, 0xe2, 0x8f, 0x65, 0x8e, 0x6a, 0x4a, 0xcf, 0x3b,
54 0x1f, 0x65, 0xff, 0xfe, 0xf1, 0x31, 0x3a, 0x37, 0x7a, 0x8b, 0xcb, 0xc6, 0xd4,
55 0x98, 0x50, 0x36, 0x67, 0xe4, 0xa1, 0xe8, 0x7e, 0x8a, 0xc5, 0x23, 0xf2, 0x77,
56 0xf5, 0x37, 0x61, 0x49, 0x72, 0x59, 0xe8, 0x3d, 0xf7, 0x60, 0xb2, 0x77, 0xca,
57 0x78, 0x54, 0x6d, 0x65, 0x9e, 0x03, 0x97, 0x1b, 0x61, 0xbd, 0x0c, 0xd8, 0x06,
58 0x63, 0xe2, 0xc5, 0x48, 0xef, 0xb3, 0xe2, 0x6e, 0x98, 0x7d, 0xbd, 0x4e, 0x72,
59 0x91, 0xdb, 0x31, 0x57, 0xe3, 0x65, 0x3a, 0x49, 0xca, 0xec, 0xd2, 0x02, 0x4e,
60 0x22, 0x7e, 0x72, 0x8e, 0xf9, 0x79, 0x84, 0x82, 0xdf, 0x7b, 0x92, 0x2d, 0xaf,
61 0xc9, 0xe4, 0x33, 0xef, 0x89, 0x5c, 0x66, 0x99, 0xd8, 0x80, 0x81, 0x47, 0x2b,
62 0xb1, 0x66, 0x02, 0x84, 0x59, 0x7b, 0xc3, 0xbe, 0x98, 0x45, 0x4a, 0x3d, 0xdd,
63 0xea, 0x2b, 0xdf, 0x4e, 0xb4, 0x24, 0x6b, 0xec, 0xe7, 0xd9, 0x0c, 0x45, 0xb8,
64 0xbe, 0xca, 0x69, 0x37, 0x92, 0x4c, 0x38, 0x6b, 0x96, 0x6d, 0xcd, 0x86, 0x67,
65 0x5c, 0xea, 0x54, 0x94, 0xa4, 0xca, 0xa4, 0x02, 0xa5, 0x21, 0x4d, 0xae, 0x40,
66 0x8f, 0x9d, 0x51, 0x83, 0xf2, 0x3f, 0x33, 0xc1, 0x72, 0xb4, 0x1d, 0x94, 0x6e,
67 0x7d, 0xe4, 0x27, 0x3f, 0xea, 0xff, 0xe5, 0x9b, 0xa7, 0x5e, 0x55, 0x8e, 0x0d,
68 0x69, 0x1c, 0x7a, 0xff, 0x81, 0x9d, 0x53, 0x52, 0x97, 0x9a, 0x76, 0x79, 0xda,
69 0x93, 0x32, 0x16, 0xec, 0x69, 0x51, 0x1a, 0x4e, 0xc3, 0xf1, 0x72, 0x80, 0x78,
70 0x5e, 0x66, 0x4a, 0x8d, 0x85, 0x2f, 0x3f, 0xb2, 0xa7 };
73 0x30, 0x82, 0x01, 0x1f, 0x30, 0x81, 0xce, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
74 0x10, 0xeb, 0x0d, 0x57, 0x2a, 0x9c, 0x09, 0xba, 0xa4, 0x4a, 0xb7, 0x25, 0x49,
75 0xd9, 0x3e, 0xb5, 0x73, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d,
76 0x05, 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
77 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30,
78 0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x36, 0x32, 0x39, 0x30, 0x35, 0x30, 0x30,
79 0x34, 0x36, 0x5a, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x36, 0x32, 0x39, 0x31, 0x31,
80 0x30, 0x30, 0x34, 0x36, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
81 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e,
82 0x67, 0x00, 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
83 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00, 0x30, 0x48, 0x02, 0x41,
84 0x00, 0xe2, 0x54, 0x3a, 0xa7, 0x83, 0xb1, 0x27, 0x14, 0x3e, 0x59, 0xbb, 0xb4,
85 0x53, 0xe6, 0x1f, 0xe7, 0x5d, 0xf1, 0x21, 0x68, 0xad, 0x85, 0x53, 0xdb, 0x6b,
86 0x1e, 0xeb, 0x65, 0x97, 0x03, 0x86, 0x60, 0xde, 0xf3, 0x6c, 0x38, 0x75, 0xe0,
87 0x4c, 0x61, 0xbb, 0xbc, 0x62, 0x17, 0xa9, 0xcd, 0x79, 0x3f, 0x21, 0x4e, 0x96,
88 0xcb, 0x0e, 0xdc, 0x61, 0x94, 0x30, 0x18, 0x10, 0x6b, 0xd0, 0x1c, 0x10, 0x79,
89 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
90 0x1d, 0x05, 0x00, 0x03, 0x41, 0x00, 0x25, 0x90, 0x53, 0x34, 0xd9, 0x56, 0x41,
91 0x5e, 0xdb, 0x7e, 0x01, 0x36, 0xec, 0x27, 0x61, 0x5e, 0xb7, 0x4d, 0x90, 0x66,
92 0xa2, 0xe1, 0x9d, 0x58, 0x76, 0xd4, 0x9c, 0xba, 0x2c, 0x84, 0xc6, 0x83, 0x7a,
93 0x22, 0x0d, 0x03, 0x69, 0x32, 0x1a, 0x6d, 0xcb, 0x0c, 0x15, 0xb3, 0x6b, 0xc7,
94 0x0a, 0x8c, 0xb4, 0x5c, 0x34, 0x78, 0xe0, 0x3c, 0x9c, 0xe9, 0xf3, 0x30, 0x9f,
95 0xa8, 0x76, 0x57, 0x92, 0x36 };
103 #define X(x) case x: return #x 195 ok(
protocols.grbitProtocol == exprots,
"protocols.grbitProtocol = %x, expected %x\n",
protocols.grbitProtocol, exprots);
197 trace(
"Supported protocols:\n");
199 #define X(flag, name) do { if(protocols.grbitProtocol & flag) { trace(name "\n"); protocols.grbitProtocol &= ~flag; } }while(0) 295 skip(
"Schannel not available\n");
318 win_skip(
"CryptAcquireContextW is not implemented\n");
325 "Expected SEC_E_SECPKG_NOT_FOUND, got %08x\n", st);
348 ok(st ==
SEC_E_OK,
"AcquireCredentialsHandleA failed: %08x\n", st);
351 memset(&cred, 0,
sizeof(cred));
354 ok(st ==
SEC_E_OK,
"AcquireCredentialsHandleA failed: %08x\n", st);
356 trace(
"expiry: %08x%08x\n",
exp.HighPart,
exp.LowPart);
364 memset(&schanCred, 0,
sizeof(schanCred));
380 ok(st ==
SEC_E_OK,
"AcquireCredentialsHandleA failed: %08x\n", st);
387 "Expected SEC_E_NO_CREDENTIALS or SEC_E_OK, got %08x\n", st);
401 schanCred.
paCred = &certs[0];
417 schanCred.
paCred = &certs[1];
422 "Expected SEC_E_UNKNOWN_CREDENTIALS, SEC_E_NO_CREDENTIALS " 423 "or SEC_E_INTERNAL_ERROR, got %08x\n", st);
428 "Expected SEC_E_UNKNOWN_CREDENTIALS, SEC_E_NO_CREDENTIALS " 429 "or SEC_E_INTERNAL_ERROR, got %08x\n", st);
440 "Expected SEC_E_UNKNOWN_CREDENTIALS or SEC_E_INTERNAL_ERROR, got %08x\n", st);
445 "Expected SEC_E_UNKNOWN_CREDENTIALS or SEC_E_INTERNAL_ERROR, got %08x\n", st);
471 "Expected SEC_E_INTERNAL_ERROR or SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
476 "Expected SEC_E_INTERNAL_ERROR or SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
482 "Expected SEC_E_INTERNAL_ERROR or SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
487 "Expected SEC_E_INTERNAL_ERROR or SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
495 "AcquireCredentialsHandleA failed: %08x\n", st);
501 "AcquireCredentialsHandleA failed: %08x\n", st);
506 ok(st ==
SEC_E_OK,
"AcquireCredentialsHandleA failed: %08x\n", st);
512 "AcquireCredentialsHandleA failed: %08x\n", st);
540 "Expected SEC_E_UNKNOWN_CREDENTIALS, got %08x\n", st);
557 unsigned cert_cnt = 0;
562 if(iter == remote_cert)
567 ok(cert_cnt == 2,
"cert_cnt = %u\n", cert_cnt);
568 ok(incl_remote,
"context does not contain cert itself\n");
571 static const char http_request[] =
"HEAD /test.html HTTP/1.1\r\nHost: test.winehq.org\r\nConnection: close\r\n\r\n";
587 for (
i = 0;
i <
desc->cBuffers; ++
i)
592 desc->pBuffers[
i].cbBuffer = 0;
610 unsigned char *
data =
buf->pvBuffer;
617 skip(
"recv failed\n");
622 skip(
"connection closed\n");
629 unsigned frame_size = 5 + ((
data[3]<<8) |
data[4]);
665 0, 0, &in_buffers, 0, &
context, &out_buffers, &attrs,
NULL);
697 unsigned buf_size = 8192;
703 win_skip(
"Required secur32 functions not available\n");
711 skip(
"Can't init winsock 2.2\n");
718 skip(
"Can't resolve test.winehq.org\n");
728 skip(
"Can't create socket\n");
735 skip(
"Can't connect to test.winehq.org\n");
761 buffers[0].pBuffers[0].cbBuffer = 1;
769 ok(
buffers[0].pBuffers[0].cbBuffer == 0,
"Output buffer size was not set to 0.\n");
773 buffers[0].pBuffers[0].cbBuffer = 1;
779 ok(
buffers[0].pBuffers[0].cbBuffer == 0,
"Output buffer size was not set to 0.\n");
781 buffers[0].pBuffers[0].cbBuffer = 0;
787 "Expected SEC_E_INSUFFICIENT_MEMORY or SEC_E_INVALID_TOKEN, got %08x\n",
status);
788 ok(
buffers[0].pBuffers[0].cbBuffer == 0,
"Output buffer size was not set to 0.\n");
796 buffers[0].pBuffers[0].cbBuffer = buf_size;
804 buf->cbBuffer = buf_size;
810 ok(
buffers[0].pBuffers[0].cbBuffer == buf_size,
"Output buffer size changed.\n");
814 buffers[1].pBuffers[0].cbBuffer = 0;
820 ok(
buffers[0].pBuffers[0].cbBuffer == buf_size,
"Output buffer size changed.\n");
824 buf->cbBuffer = buf_size;
829 buffers[1].pBuffers[0].cbBuffer = 4;
834 "Got unexpected status %#x.\n",
status);
835 ok(
buffers[0].pBuffers[0].cbBuffer == buf_size,
"Output buffer size changed.\n");
838 buffers[1].pBuffers[0].cbBuffer = 5;
843 "Got unexpected status %#x.\n",
status);
844 ok(
buffers[0].pBuffers[0].cbBuffer == buf_size,
"Output buffer size changed.\n");
851 buffers[1].pBuffers[0].cbBuffer = buf_size;
856 buf->cbBuffer = buf_size;
868 buffers[1].pBuffers[0].cbBuffer = buf_size;
871 ok(
buffers[0].pBuffers[0].cbBuffer == 0,
"Output buffer size was not set to 0.\n");
873 "InitializeSecurityContext failed: %08x\n",
status);
875 skip(
"Handshake failed\n");
879 "got %08x\n", attrs);
885 ok(
status ==
SEC_E_OK,
"QueryContextAttributesW(SECPKG_ATTR_REMOTE_CERT_CONTEXT) failed: %08x\n",
status);
893 "QueryContextAttributesW(SECPKG_ATTR_ENDPOINT_BINDINGS) failed: %08x\n",
status);
895 static const char prefix[] =
"tls-server-end-point:";
913 ok(!
memcmp(
p, prefix,
sizeof(prefix)-1),
"missing prefix\n");
914 p +=
sizeof(prefix)-1;
916 hash_size =
sizeof(
hash);
919 ok(hash_size == 32,
"hash_size = %u\n", hash_size);
922 win_skip(
"SHA 256 hash not supported.\n");
927 win_skip(
"SECPKG_ATTR_ENDPOINT_BINDINGS not supported\n");
936 ok(conn_info.dwCipherStrength >= 128,
"conn_info.dwCipherStrength = %d\n", conn_info.dwCipherStrength);
937 ok(conn_info.dwHashStrength >= 128,
"conn_info.dwHashStrength = %d\n", conn_info.dwHashStrength);
984 buf->cbBuffer = buf_size;
1014 ok(
buffers[0].pBuffers[0].cbBuffer == 5,
"Expected first buffer to be a five bytes\n");
1016 buffers[0].pBuffers[0].cbBuffer = data_size;
#define SEC_E_SECPKG_NOT_FOUND
#define CALG_SCHANNEL_MASTER_HASH
static void test_strength(PCredHandle handle)
#define SEC_E_INTERNAL_ERROR
#define SP_PROT_SSL3_CLIENT
#define SECPKG_ATTR_SUPPORTED_PROTOCOLS
#define SECPKG_ATTR_KEY_INFO
static void test_remote_cert(PCCERT_CONTEXT remote_cert)
#define SECPKG_CRED_OUTBOUND
static void init_buffers(SecBufferDesc *desc, unsigned count, unsigned size)
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define SCH_CRED_NO_DEFAULT_CREDS
#define SECBUFFER_STREAM_HEADER
static void test_communication(void)
ULONG cbApplicationDataLength
SECURITY_STATUS WINAPI FreeContextBuffer(PVOID pv)
#define SP_PROT_TLS1_0_CLIENT
#define ISC_RET_CONFIDENTIALITY
#define SP_PROT_TLS1_CLIENT
#define SP_PROT_TLS1_1_CLIENT
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
GLuint GLuint GLsizei count
static void testAcquireSecurityContext(void)
static const BYTE bigCert[]
#define SECPKG_ATTR_REMOTE_CERT_CONTEXT
SECURITY_STATUS WINAPI EnumerateSecurityPackagesA(PULONG pcPackages, PSecPkgInfoA *ppPackageInfo)
static SecHandle cred_handle
DWORD WINAPI GetLastError(VOID)
SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle phCredential)
#define ISC_RET_USED_SUPPLIED_CREDS
#define SECPKG_CRED_ATTR_NAMES
#define SEC_E_UNSUPPORTED_FUNCTION
INT WSAAPI connect(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
static void free_buffers(SecBufferDesc *desc)
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID out_buffer
#define SP_PROT_TLS1_2_CLIENT
BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer, LPCWSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
#define SECPKG_ATTR_ENDPOINT_BINDINGS
#define sprintf(buf, format,...)
static unsigned char * in_buffer
GLenum GLuint GLenum GLsizei const GLchar * buf
#define X509_ASN_ENCODING
#define ISC_REQ_USE_SUPPLIED_CREDS
#define CALG_HASH_REPLACE_OWF
ALG_ID * palgSupportedAlgs
SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
#define CALG_SCHANNEL_ENC_KEY
DWORD dwMinimumCipherStrength
#define SEC_E_INSUFFICIENT_MEMORY
ULONG dwInitiatorAddrType
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
static const WCHAR desc[]
static struct _test_info info[]
#define SECBUFFER_MISSING
#define SCHANNEL_CRED_VERSION
#define SECPKG_CRED_INBOUND
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
#define SEC_E_ILLEGAL_MESSAGE
static const char http_request[]
DWORD grbitEnabledProtocols
#define SECPKG_ATTR_NEGOTIATION_INFO
BOOL WINAPI CryptDestroyKey(HCRYPTKEY hKey)
static void reset_buffers(SecBufferDesc *desc)
#define SEC_I_CONTINUE_NEEDED
static void test_supported_algs(CredHandle *handle)
static void test_supported_protocols(CredHandle *handle, unsigned exprots)
PHOSTENT WSAAPI gethostbyname(IN const char FAR *name)
ALG_ID * palgSupportedAlgs
#define SP_PROT_SSL2_CLIENT
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
SECURITY_STATUS WINAPI AcquireCredentialsHandleA(SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialsUse, PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn, PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
SECURITY_STATUS WINAPI InitializeSecurityContextA(PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, ULONG *pfContextAttr, PTimeStamp ptsExpiry)
PCRYPT_KEY_PROV_PARAM rgProvParam
static const BYTE selfSignedCert[]
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static const WCHAR MS_DEF_PROV_W[]
_In_opt_ PVOID _In_ ULONG _In_ PVOID context
#define CALG_AGREEDKEY_ANY
ULONG dwApplicationDataOffset
#define SECPKG_ATTR_STREAM_SIZES
#define SECBUFFER_STREAM_TRAILER
struct _HMAPPER ** aphMappers
GLenum const GLvoid * addr
#define ISC_REQ_ALLOCATE_MEMORY
PCCERT_CONTEXT WINAPI CertCreateCertificateContext(DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded)
SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
#define SEC_E_INVALID_TOKEN
#define SECPKG_ATTR_CONNECTION_INFO
#define SECPKG_ATTR_CIPHER_STRENGTHS
#define memcpy(s1, s2, n)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
#define ISC_RET_SEQUENCE_DETECT
PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore(HCERTSTORE hCertStore, PCCERT_CONTEXT pPrev)
#define ISC_RET_REPLAY_DETECT
SEC_CHANNEL_BINDINGS * Bindings
#define CALG_SCHANNEL_MAC_KEY
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define SECBUFFER_VERSION
#define CERT_KEY_PROV_INFO_PROP_ID
struct protocol * protocols
#define SP_PROT_TLS1_3_CLIENT
static void init_cred(SCHANNEL_CRED *cred)
#define SECPKG_ATTR_SUPPORTED_ALGS
SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
SEC_CHAR * sSignatureAlgorithmName
#define SCH_CRED_MANUAL_CRED_VALIDATION
DWORD dwMaximumCipherStrength
#define CRYPT_DELETEKEYSET
static CHAR unisp_name_a[]
int strcmp(const char *String1, const char *String2)
static int receive_data(SOCKET sock, SecBuffer *buf)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ISC_REQ_CONFIDENTIALITY
#define GetProcAddress(x, y)
DWORD dwMinimumCipherStrength
#define SEC_E_NO_CREDENTIALS
BOOL WINAPI CryptHashCertificate(HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash)
#define SEC_E_UNKNOWN_CREDENTIALS
SECURITY_STATUS(SEC_ENTRY * QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle, ULONG, void *)
static void test_cread_attrs(void)
static void test_InitializeSecurityContext(void)
DWORD dwMaximumCipherStrength
static SERVICE_STATUS status
BOOL WINAPI CryptImportKey(HCRYPTPROV hProv, const BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey)
INT WSAAPI recv(IN SOCKET s, OUT CHAR FAR *buf, IN INT len, IN INT flags)
BOOL WINAPI CertSetCertificateContextProperty(PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData)
#define HeapFree(x, y, z)
#define SEC_E_INCOMPLETE_MESSAGE
SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
static QUERY_CONTEXT_ATTRIBUTES_FN_A pQueryContextAttributesA
static const struct @529 sizes[]
SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle phContext)
static const char * algid_to_str(ALG_ID alg)