FreeRDP
include/winpr/sspi.h File Reference
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
#include <winpr/windows.h>
#include <winpr/security.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  SECURITY_INTEGER
 
struct  SecPkgInfoA
 
struct  SecPkgInfoW
 
struct  SecPkgContext_AccessToken
 
struct  SecPkgContext_SessionAppData
 
struct  SecPkgContext_Authority
 
struct  SecPkgContext_ClientSpecifiedTarget
 
struct  SecPkgContext_ConnectionInfo
 
struct  SecPkgContext_ClientCreds
 
struct  SecPkgContex_DceInfo
 
struct  SEC_CHANNEL_BINDINGS
 
struct  SecPkgContext_Bindings
 
struct  SecPkgContext_EapKeyBlock
 
struct  SecPkgContext_Flags
 
struct  SecPkgContext_KeyInfo
 
struct  SecPkgContext_Lifespan
 
struct  SecPkgContext_Names
 
struct  SecPkgContext_NativeNames
 
struct  SecPkgContext_NegotiationInfo
 
struct  SecPkgContext_PackageInfo
 
struct  SecPkgContext_PasswordExpiry
 
struct  SecPkgContext_SessionKey
 
struct  SecPkgContext_SessionInfo
 
struct  SecPkgContext_Sizes
 
struct  SecPkgContext_StreamSizes
 
struct  SecPkgContext_SubjectAttributes
 
struct  SecPkgContext_SupportedSignatures
 
struct  SecPkgContext_TargetInformation
 
struct  SecPkgCredentials_NamesA
 
struct  SecPkgCredentials_NamesW
 
struct  PSEC_WINNT_AUTH_IDENTITY_W
 
struct  PSEC_WINNT_AUTH_IDENTITY_A
 
struct  SEC_WINNT_AUTH_IDENTITY
 
struct  SecHandle
 
struct  SecBuffer
 
struct  SecBufferDesc
 
struct  SecurityFunctionTableA
 
struct  SecurityFunctionTableW
 
struct  SecPkgContext_AuthIdentity
 
struct  SecPkgContext_AuthPassword
 
struct  SecPkgContext_AuthNtlmHash
 
struct  SecPkgContext_AuthNtlmTimestamp
 
struct  SecPkgContext_AuthNtlmClientChallenge
 
struct  SecPkgContext_AuthNtlmServerChallenge
 
struct  SecPkgContext_AuthNtlmMessage
 

Macros

#define SEC_ENTRY
 
#define __SECSTATUS_DEFINED__
 
#define SecPkgInfo   SecPkgInfoA
 
#define PSecPkgInfo   PSecPkgInfoA
 
#define NTLM_SSP_NAME   _T("NTLM")
 
#define KERBEROS_SSP_NAME   _T("Kerberos")
 
#define NEGO_SSP_NAME   _T("Negotiate")
 
#define SECPKG_ID_NONE   0xFFFF
 
#define SECPKG_FLAG_INTEGRITY   0x00000001
 
#define SECPKG_FLAG_PRIVACY   0x00000002
 
#define SECPKG_FLAG_TOKEN_ONLY   0x00000004
 
#define SECPKG_FLAG_DATAGRAM   0x00000008
 
#define SECPKG_FLAG_CONNECTION   0x00000010
 
#define SECPKG_FLAG_MULTI_REQUIRED   0x00000020
 
#define SECPKG_FLAG_CLIENT_ONLY   0x00000040
 
#define SECPKG_FLAG_EXTENDED_ERROR   0x00000080
 
#define SECPKG_FLAG_IMPERSONATION   0x00000100
 
#define SECPKG_FLAG_ACCEPT_WIN32_NAME   0x00000200
 
#define SECPKG_FLAG_STREAM   0x00000400
 
#define SECPKG_FLAG_NEGOTIABLE   0x00000800
 
#define SECPKG_FLAG_GSS_COMPATIBLE   0x00001000
 
#define SECPKG_FLAG_LOGON   0x00002000
 
#define SECPKG_FLAG_ASCII_BUFFERS   0x00004000
 
#define SECPKG_FLAG_FRAGMENT   0x00008000
 
#define SECPKG_FLAG_MUTUAL_AUTH   0x00010000
 
#define SECPKG_FLAG_DELEGATION   0x00020000
 
#define SECPKG_FLAG_READONLY_WITH_CHECKSUM   0x00040000
 
#define SECPKG_FLAG_RESTRICTED_TOKENS   0x00080000
 
#define SECPKG_FLAG_NEGO_EXTENDER   0x00100000
 
#define SECPKG_FLAG_NEGOTIABLE2   0x00200000
 
#define SEC_E_OK   (SECURITY_STATUS)0x00000000L
 
#define SEC_E_INSUFFICIENT_MEMORY   (SECURITY_STATUS)0x80090300L
 
#define SEC_E_INVALID_HANDLE   (SECURITY_STATUS)0x80090301L
 
#define SEC_E_UNSUPPORTED_FUNCTION   (SECURITY_STATUS)0x80090302L
 
#define SEC_E_TARGET_UNKNOWN   (SECURITY_STATUS)0x80090303L
 
#define SEC_E_INTERNAL_ERROR   (SECURITY_STATUS)0x80090304L
 
#define SEC_E_SECPKG_NOT_FOUND   (SECURITY_STATUS)0x80090305L
 
#define SEC_E_NOT_OWNER   (SECURITY_STATUS)0x80090306L
 
#define SEC_E_CANNOT_INSTALL   (SECURITY_STATUS)0x80090307L
 
#define SEC_E_INVALID_TOKEN   (SECURITY_STATUS)0x80090308L
 
#define SEC_E_CANNOT_PACK   (SECURITY_STATUS)0x80090309L
 
#define SEC_E_QOP_NOT_SUPPORTED   (SECURITY_STATUS)0x8009030AL
 
#define SEC_E_NO_IMPERSONATION   (SECURITY_STATUS)0x8009030BL
 
#define SEC_E_LOGON_DENIED   (SECURITY_STATUS)0x8009030CL
 
#define SEC_E_UNKNOWN_CREDENTIALS   (SECURITY_STATUS)0x8009030DL
 
#define SEC_E_NO_CREDENTIALS   (SECURITY_STATUS)0x8009030EL
 
#define SEC_E_MESSAGE_ALTERED   (SECURITY_STATUS)0x8009030FL
 
#define SEC_E_OUT_OF_SEQUENCE   (SECURITY_STATUS)0x80090310L
 
#define SEC_E_NO_AUTHENTICATING_AUTHORITY   (SECURITY_STATUS)0x80090311L
 
#define SEC_E_BAD_PKGID   (SECURITY_STATUS)0x80090316L
 
#define SEC_E_CONTEXT_EXPIRED   (SECURITY_STATUS)0x80090317L
 
#define SEC_E_INCOMPLETE_MESSAGE   (SECURITY_STATUS)0x80090318L
 
#define SEC_E_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x80090320L
 
#define SEC_E_BUFFER_TOO_SMALL   (SECURITY_STATUS)0x80090321L
 
#define SEC_E_WRONG_PRINCIPAL   (SECURITY_STATUS)0x80090322L
 
#define SEC_E_TIME_SKEW   (SECURITY_STATUS)0x80090324L
 
#define SEC_E_UNTRUSTED_ROOT   (SECURITY_STATUS)0x80090325L
 
#define SEC_E_ILLEGAL_MESSAGE   (SECURITY_STATUS)0x80090326L
 
#define SEC_E_CERT_UNKNOWN   (SECURITY_STATUS)0x80090327L
 
#define SEC_E_CERT_EXPIRED   (SECURITY_STATUS)0x80090328L
 
#define SEC_E_ENCRYPT_FAILURE   (SECURITY_STATUS)0x80090329L
 
#define SEC_E_DECRYPT_FAILURE   (SECURITY_STATUS)0x80090330L
 
#define SEC_E_ALGORITHM_MISMATCH   (SECURITY_STATUS)0x80090331L
 
#define SEC_E_SECURITY_QOS_FAILED   (SECURITY_STATUS)0x80090332L
 
#define SEC_E_UNFINISHED_CONTEXT_DELETED   (SECURITY_STATUS)0x80090333L
 
#define SEC_E_NO_TGT_REPLY   (SECURITY_STATUS)0x80090334L
 
#define SEC_E_NO_IP_ADDRESSES   (SECURITY_STATUS)0x80090335L
 
#define SEC_E_WRONG_CREDENTIAL_HANDLE   (SECURITY_STATUS)0x80090336L
 
#define SEC_E_CRYPTO_SYSTEM_INVALID   (SECURITY_STATUS)0x80090337L
 
#define SEC_E_MAX_REFERRALS_EXCEEDED   (SECURITY_STATUS)0x80090338L
 
#define SEC_E_MUST_BE_KDC   (SECURITY_STATUS)0x80090339L
 
#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED   (SECURITY_STATUS)0x8009033AL
 
#define SEC_E_TOO_MANY_PRINCIPALS   (SECURITY_STATUS)0x8009033BL
 
#define SEC_E_NO_PA_DATA   (SECURITY_STATUS)0x8009033CL
 
#define SEC_E_PKINIT_NAME_MISMATCH   (SECURITY_STATUS)0x8009033DL
 
#define SEC_E_SMARTCARD_LOGON_REQUIRED   (SECURITY_STATUS)0x8009033EL
 
#define SEC_E_SHUTDOWN_IN_PROGRESS   (SECURITY_STATUS)0x8009033FL
 
#define SEC_E_KDC_INVALID_REQUEST   (SECURITY_STATUS)0x80090340L
 
#define SEC_E_KDC_UNABLE_TO_REFER   (SECURITY_STATUS)0x80090341L
 
#define SEC_E_KDC_UNKNOWN_ETYPE   (SECURITY_STATUS)0x80090342L
 
#define SEC_E_UNSUPPORTED_PREAUTH   (SECURITY_STATUS)0x80090343L
 
#define SEC_E_DELEGATION_REQUIRED   (SECURITY_STATUS)0x80090345L
 
#define SEC_E_BAD_BINDINGS   (SECURITY_STATUS)0x80090346L
 
#define SEC_E_MULTIPLE_ACCOUNTS   (SECURITY_STATUS)0x80090347L
 
#define SEC_E_NO_KERB_KEY   (SECURITY_STATUS)0x80090348L
 
#define SEC_E_CERT_WRONG_USAGE   (SECURITY_STATUS)0x80090349L
 
#define SEC_E_DOWNGRADE_DETECTED   (SECURITY_STATUS)0x80090350L
 
#define SEC_E_SMARTCARD_CERT_REVOKED   (SECURITY_STATUS)0x80090351L
 
#define SEC_E_ISSUING_CA_UNTRUSTED   (SECURITY_STATUS)0x80090352L
 
#define SEC_E_REVOCATION_OFFLINE_C   (SECURITY_STATUS)0x80090353L
 
#define SEC_E_PKINIT_CLIENT_FAILURE   (SECURITY_STATUS)0x80090354L
 
#define SEC_E_SMARTCARD_CERT_EXPIRED   (SECURITY_STATUS)0x80090355L
 
#define SEC_E_NO_S4U_PROT_SUPPORT   (SECURITY_STATUS)0x80090356L
 
#define SEC_E_CROSSREALM_DELEGATION_FAILURE   (SECURITY_STATUS)0x80090357L
 
#define SEC_E_REVOCATION_OFFLINE_KDC   (SECURITY_STATUS)0x80090358L
 
#define SEC_E_ISSUING_CA_UNTRUSTED_KDC   (SECURITY_STATUS)0x80090359L
 
#define SEC_E_KDC_CERT_EXPIRED   (SECURITY_STATUS)0x8009035AL
 
#define SEC_E_KDC_CERT_REVOKED   (SECURITY_STATUS)0x8009035BL
 
#define SEC_E_INVALID_PARAMETER   (SECURITY_STATUS)0x8009035DL
 
#define SEC_E_DELEGATION_POLICY   (SECURITY_STATUS)0x8009035EL
 
#define SEC_E_POLICY_NLTM_ONLY   (SECURITY_STATUS)0x8009035FL
 
#define SEC_E_NO_CONTEXT   (SECURITY_STATUS)0x80090361L
 
#define SEC_E_PKU2U_CERT_FAILURE   (SECURITY_STATUS)0x80090362L
 
#define SEC_E_MUTUAL_AUTH_FAILED   (SECURITY_STATUS)0x80090363L
 
#define SEC_I_CONTINUE_NEEDED   (SECURITY_STATUS)0x00090312L
 
#define SEC_I_COMPLETE_NEEDED   (SECURITY_STATUS)0x00090313L
 
#define SEC_I_COMPLETE_AND_CONTINUE   (SECURITY_STATUS)0x00090314L
 
#define SEC_I_LOCAL_LOGON   (SECURITY_STATUS)0x00090315L
 
#define SEC_I_CONTEXT_EXPIRED   (SECURITY_STATUS)0x00090317L
 
#define SEC_I_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x00090320L
 
#define SEC_I_RENEGOTIATE   (SECURITY_STATUS)0x00090321L
 
#define SEC_I_NO_LSA_CONTEXT   (SECURITY_STATUS)0x00090323L
 
#define SEC_I_SIGNATURE_NEEDED   (SECURITY_STATUS)0x0009035CL
 
#define SEC_I_NO_RENEGOTIATION   (SECURITY_STATUS)0x00090360L
 
#define SECURITY_NATIVE_DREP   0x00000010
 
#define SECURITY_NETWORK_DREP   0x00000000
 
#define SECPKG_CRED_INBOUND   0x00000001
 
#define SECPKG_CRED_OUTBOUND   0x00000002
 
#define SECPKG_CRED_BOTH   0x00000003
 
#define SECPKG_CRED_AUTOLOGON_RESTRICTED   0x00000010
 
#define SECPKG_CRED_PROCESS_POLICY_ONLY   0x00000020
 
#define SECPKG_ATTR_SIZES   0
 
#define SECPKG_ATTR_NAMES   1
 
#define SECPKG_ATTR_LIFESPAN   2
 
#define SECPKG_ATTR_DCE_INFO   3
 
#define SECPKG_ATTR_STREAM_SIZES   4
 
#define SECPKG_ATTR_KEY_INFO   5
 
#define SECPKG_ATTR_AUTHORITY   6
 
#define SECPKG_ATTR_PROTO_INFO   7
 
#define SECPKG_ATTR_PASSWORD_EXPIRY   8
 
#define SECPKG_ATTR_SESSION_KEY   9
 
#define SECPKG_ATTR_PACKAGE_INFO   10
 
#define SECPKG_ATTR_USER_FLAGS   11
 
#define SECPKG_ATTR_NEGOTIATION_INFO   12
 
#define SECPKG_ATTR_NATIVE_NAMES   13
 
#define SECPKG_ATTR_FLAGS   14
 
#define SECPKG_ATTR_USE_VALIDATED   15
 
#define SECPKG_ATTR_CREDENTIAL_NAME   16
 
#define SECPKG_ATTR_TARGET_INFORMATION   17
 
#define SECPKG_ATTR_ACCESS_TOKEN   18
 
#define SECPKG_ATTR_TARGET   19
 
#define SECPKG_ATTR_AUTHENTICATION_ID   20
 
#define SECPKG_ATTR_LOGOFF_TIME   21
 
#define SECPKG_ATTR_NEGO_KEYS   22
 
#define SECPKG_ATTR_PROMPTING_NEEDED   24
 
#define SECPKG_ATTR_UNIQUE_BINDINGS   25
 
#define SECPKG_ATTR_ENDPOINT_BINDINGS   26
 
#define SECPKG_ATTR_CLIENT_SPECIFIED_TARGET   27
 
#define SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS   30
 
#define SECPKG_ATTR_NEGO_PKG_INFO   31
 
#define SECPKG_ATTR_NEGO_STATUS   32
 
#define SECPKG_ATTR_CONTEXT_DELETED   33
 
#define SECPKG_CRED_ATTR_NAMES   1
 
#define SecPkgCredentials_Names   SecPkgCredentials_NamesA
 
#define PSecPkgCredentials_Names   PSecPkgCredentials_NamesA
 
#define ISC_REQ_DELEGATE   0x00000001
 
#define ISC_REQ_MUTUAL_AUTH   0x00000002
 
#define ISC_REQ_REPLAY_DETECT   0x00000004
 
#define ISC_REQ_SEQUENCE_DETECT   0x00000008
 
#define ISC_REQ_CONFIDENTIALITY   0x00000010
 
#define ISC_REQ_USE_SESSION_KEY   0x00000020
 
#define ISC_REQ_PROMPT_FOR_CREDS   0x00000040
 
#define ISC_REQ_USE_SUPPLIED_CREDS   0x00000080
 
#define ISC_REQ_ALLOCATE_MEMORY   0x00000100
 
#define ISC_REQ_USE_DCE_STYLE   0x00000200
 
#define ISC_REQ_DATAGRAM   0x00000400
 
#define ISC_REQ_CONNECTION   0x00000800
 
#define ISC_REQ_CALL_LEVEL   0x00001000
 
#define ISC_REQ_FRAGMENT_SUPPLIED   0x00002000
 
#define ISC_REQ_EXTENDED_ERROR   0x00004000
 
#define ISC_REQ_STREAM   0x00008000
 
#define ISC_REQ_INTEGRITY   0x00010000
 
#define ISC_REQ_IDENTIFY   0x00020000
 
#define ISC_REQ_NULL_SESSION   0x00040000
 
#define ISC_REQ_MANUAL_CRED_VALIDATION   0x00080000
 
#define ISC_REQ_RESERVED1   0x00100000
 
#define ISC_REQ_FRAGMENT_TO_FIT   0x00200000
 
#define ISC_REQ_FORWARD_CREDENTIALS   0x00400000
 
#define ISC_REQ_NO_INTEGRITY   0x00800000
 
#define ISC_REQ_USE_HTTP_STYLE   0x01000000
 
#define ISC_RET_DELEGATE   0x00000001
 
#define ISC_RET_MUTUAL_AUTH   0x00000002
 
#define ISC_RET_REPLAY_DETECT   0x00000004
 
#define ISC_RET_SEQUENCE_DETECT   0x00000008
 
#define ISC_RET_CONFIDENTIALITY   0x00000010
 
#define ISC_RET_USE_SESSION_KEY   0x00000020
 
#define ISC_RET_USED_COLLECTED_CREDS   0x00000040
 
#define ISC_RET_USED_SUPPLIED_CREDS   0x00000080
 
#define ISC_RET_ALLOCATED_MEMORY   0x00000100
 
#define ISC_RET_USED_DCE_STYLE   0x00000200
 
#define ISC_RET_DATAGRAM   0x00000400
 
#define ISC_RET_CONNECTION   0x00000800
 
#define ISC_RET_INTERMEDIATE_RETURN   0x00001000
 
#define ISC_RET_CALL_LEVEL   0x00002000
 
#define ISC_RET_EXTENDED_ERROR   0x00004000
 
#define ISC_RET_STREAM   0x00008000
 
#define ISC_RET_INTEGRITY   0x00010000
 
#define ISC_RET_IDENTIFY   0x00020000
 
#define ISC_RET_NULL_SESSION   0x00040000
 
#define ISC_RET_MANUAL_CRED_VALIDATION   0x00080000
 
#define ISC_RET_RESERVED1   0x00100000
 
#define ISC_RET_FRAGMENT_ONLY   0x00200000
 
#define ISC_RET_FORWARD_CREDENTIALS   0x00400000
 
#define ISC_RET_USED_HTTP_STYLE   0x01000000
 
#define ASC_REQ_DELEGATE   0x00000001
 
#define ASC_REQ_MUTUAL_AUTH   0x00000002
 
#define ASC_REQ_REPLAY_DETECT   0x00000004
 
#define ASC_REQ_SEQUENCE_DETECT   0x00000008
 
#define ASC_REQ_CONFIDENTIALITY   0x00000010
 
#define ASC_REQ_USE_SESSION_KEY   0x00000020
 
#define ASC_REQ_ALLOCATE_MEMORY   0x00000100
 
#define ASC_REQ_USE_DCE_STYLE   0x00000200
 
#define ASC_REQ_DATAGRAM   0x00000400
 
#define ASC_REQ_CONNECTION   0x00000800
 
#define ASC_REQ_CALL_LEVEL   0x00001000
 
#define ASC_REQ_EXTENDED_ERROR   0x00008000
 
#define ASC_REQ_STREAM   0x00010000
 
#define ASC_REQ_INTEGRITY   0x00020000
 
#define ASC_REQ_LICENSING   0x00040000
 
#define ASC_REQ_IDENTIFY   0x00080000
 
#define ASC_REQ_ALLOW_NULL_SESSION   0x00100000
 
#define ASC_REQ_ALLOW_NON_USER_LOGONS   0x00200000
 
#define ASC_REQ_ALLOW_CONTEXT_REPLAY   0x00400000
 
#define ASC_REQ_FRAGMENT_TO_FIT   0x00800000
 
#define ASC_REQ_FRAGMENT_SUPPLIED   0x00002000
 
#define ASC_REQ_NO_TOKEN   0x01000000
 
#define ASC_REQ_PROXY_BINDINGS   0x04000000
 
#define ASC_REQ_ALLOW_MISSING_BINDINGS   0x10000000
 
#define ASC_RET_DELEGATE   0x00000001
 
#define ASC_RET_MUTUAL_AUTH   0x00000002
 
#define ASC_RET_REPLAY_DETECT   0x00000004
 
#define ASC_RET_SEQUENCE_DETECT   0x00000008
 
#define ASC_RET_CONFIDENTIALITY   0x00000010
 
#define ASC_RET_USE_SESSION_KEY   0x00000020
 
#define ASC_RET_ALLOCATED_MEMORY   0x00000100
 
#define ASC_RET_USED_DCE_STYLE   0x00000200
 
#define ASC_RET_DATAGRAM   0x00000400
 
#define ASC_RET_CONNECTION   0x00000800
 
#define ASC_RET_CALL_LEVEL   0x00002000
 
#define ASC_RET_THIRD_LEG_FAILED   0x00004000
 
#define ASC_RET_EXTENDED_ERROR   0x00008000
 
#define ASC_RET_STREAM   0x00010000
 
#define ASC_RET_INTEGRITY   0x00020000
 
#define ASC_RET_LICENSING   0x00040000
 
#define ASC_RET_IDENTIFY   0x00080000
 
#define ASC_RET_NULL_SESSION   0x00100000
 
#define ASC_RET_ALLOW_NON_USER_LOGONS   0x00200000
 
#define ASC_RET_FRAGMENT_ONLY   0x00800000
 
#define ASC_RET_NO_TOKEN   0x01000000
 
#define ASC_RET_NO_PROXY_BINDINGS   0x04000000
 
#define ASC_RET_MISSING_BINDINGS   0x10000000
 
#define SEC_WINNT_AUTH_IDENTITY_ANSI   0x1
 
#define SEC_WINNT_AUTH_IDENTITY_UNICODE   0x2
 
#define _AUTH_IDENTITY_DEFINED
 
#define SecInvalidateHandle(x)   ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1));
 
#define SecIsValidHandle(x)
 
#define SECBUFFER_VERSION   0
 
#define SECBUFFER_EMPTY   0
 
#define SECBUFFER_DATA   1
 
#define SECBUFFER_TOKEN   2
 
#define SECBUFFER_PKG_PARAMS   3
 
#define SECBUFFER_MISSING   4
 
#define SECBUFFER_EXTRA   5
 
#define SECBUFFER_STREAM_TRAILER   6
 
#define SECBUFFER_STREAM_HEADER   7
 
#define SECBUFFER_NEGOTIATION_INFO   8
 
#define SECBUFFER_PADDING   9
 
#define SECBUFFER_STREAM   10
 
#define SECBUFFER_MECHLIST   11
 
#define SECBUFFER_MECHLIST_SIGNATURE   12
 
#define SECBUFFER_TARGET   13
 
#define SECBUFFER_CHANNEL_BINDINGS   14
 
#define SECBUFFER_CHANGE_PASS_RESPONSE   15
 
#define SECBUFFER_TARGET_HOST   16
 
#define SECBUFFER_ALERT   17
 
#define SECBUFFER_ATTRMASK   0xF0000000
 
#define SECBUFFER_READONLY   0x80000000
 
#define SECBUFFER_READONLY_WITH_CHECKSUM   0x10000000
 
#define SECBUFFER_RESERVED   0x60000000
 
#define EnumerateSecurityPackages   EnumerateSecurityPackagesA
 
#define ENUMERATE_SECURITY_PACKAGES_FN   ENUMERATE_SECURITY_PACKAGES_FN_A
 
#define QueryCredentialsAttributes   QueryCredentialsAttributesA
 
#define QUERY_CREDENTIALS_ATTRIBUTES_FN   QUERY_CREDENTIALS_ATTRIBUTES_FN_A
 
#define AcquireCredentialsHandle   AcquireCredentialsHandleA
 
#define ACQUIRE_CREDENTIALS_HANDLE_FN   ACQUIRE_CREDENTIALS_HANDLE_FN_A
 
#define InitializeSecurityContext   InitializeSecurityContextA
 
#define INITIALIZE_SECURITY_CONTEXT_FN   INITIALIZE_SECURITY_CONTEXT_FN_A
 
#define QueryContextAttributes   QueryContextAttributesA
 
#define QUERY_CONTEXT_ATTRIBUTES_FN   QUERY_CONTEXT_ATTRIBUTES_FN_A
 
#define QuerySecurityPackageInfo   QuerySecurityPackageInfoA
 
#define QUERY_SECURITY_PACKAGE_INFO_FN   QUERY_SECURITY_PACKAGE_INFO_FN_A
 
#define ImportSecurityContext   ImportSecurityContextA
 
#define IMPORT_SECURITY_CONTEXT_FN   IMPORT_SECURITY_CONTEXT_FN_A
 
#define AddCredentials   AddCredentialsA
 
#define ADD_CREDENTIALS_FN   ADD_CREDENTIALS_FN_A
 
#define SetContextAttributes   SetContextAttributesA
 
#define SET_CONTEXT_ATTRIBUTES_FN   SET_CONTEXT_ATTRIBUTES_FN_A
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION   1 /* Interface has all routines through DecryptMessage */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2   2 /* Interface has all routines through SetContextAttributes */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3   3 /* Interface has all routines through SetCredentialsAttributes */
 
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4   4 /* Interface has all routines through ChangeAccountPassword */
 
#define InitSecurityInterface   InitSecurityInterfaceA
 
#define SecurityFunctionTable   SecurityFunctionTableA
 
#define PSecurityFunctionTable   PSecurityFunctionTableA
 
#define INIT_SECURITY_INTERFACE   INIT_SECURITY_INTERFACE_A
 
#define SECPKG_ATTR_AUTH_IDENTITY   1001
 
#define SECPKG_ATTR_AUTH_PASSWORD   1002
 
#define SECPKG_ATTR_AUTH_NTLM_HASH   1003
 
#define SECPKG_ATTR_AUTH_NTLM_SAM_FILE   1004
 
#define SECPKG_ATTR_AUTH_NTLM_MESSAGE   1100
 
#define SECPKG_ATTR_AUTH_NTLM_TIMESTAMP   1101
 
#define SECPKG_ATTR_AUTH_NTLM_CLIENT_CHALLENGE   1102
 
#define SECPKG_ATTR_AUTH_NTLM_SERVER_CHALLENGE   1103
 
#define SECPKG_ATTR_AUTH_NTLM_NTPROOF_VALUE   1104
 
#define SECPKG_ATTR_AUTH_NTLM_RANDKEY   1105
 
#define SECPKG_ATTR_AUTH_NTLM_MIC   1106
 
#define SECPKG_ATTR_AUTH_NTLM_MIC_VALUE   1107
 
#define SECPKG_ATTR_AUTH_NTLM_HASH_CB   1108
 
#define SECPKG_ATTR_AUTH_NTLM_HASH_CB_DATA   1109
 
#define SSPI_INTERFACE_WINPR   0x00000001
 
#define SSPI_INTERFACE_NATIVE   0x00000002
 
#define InitSecurityInterfaceEx   InitSecurityInterfaceExA
 
#define INIT_SECURITY_INTERFACE_EX   INIT_SECURITY_INTERFACE_EX_A
 

Typedefs

typedef CHAR SEC_CHAR
 
typedef WCHAR SEC_WCHAR
 
typedef SECURITY_INTEGER TimeStamp
 
typedef SECURITY_INTEGER * PTimeStamp
 
typedef LONG SECURITY_STATUS
 
typedef SecPkgInfoA * PSecPkgInfoA
 
typedef SecPkgInfoW * PSecPkgInfoW
 
typedef UINT32 ALG_ID
 
typedef SecPkgCredentials_NamesA * PSecPkgCredentials_NamesA
 
typedef SecPkgCredentials_NamesW * PSecPkgCredentials_NamesW
 
typedef SecHandle * PSecHandle
 
typedef SecHandle CredHandle
 
typedef CredHandlePCredHandle
 
typedef SecHandle CtxtHandle
 
typedef CtxtHandlePCtxtHandle
 
typedef SecBuffer * PSecBuffer
 
typedef SecBufferDesc * PSecBufferDesc
 
typedef void(SEC_ENTRYSEC_GET_KEY_FN) (void *Arg, void *Principal, UINT32 KeyVer, void **Key, SECURITY_STATUS *pStatus)
 
typedef SECURITY_STATUS(SEC_ENTRYENUMERATE_SECURITY_PACKAGES_FN_A) (ULONG *pcPackages, PSecPkgInfoA *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYENUMERATE_SECURITY_PACKAGES_FN_W) (ULONG *pcPackages, PSecPkgInfoW *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYACQUIRE_CREDENTIALS_HANDLE_FN_A) (LPSTR pszPrincipal, LPSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYACQUIRE_CREDENTIALS_HANDLE_FN_W) (LPWSTR pszPrincipal, LPWSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYFREE_CREDENTIALS_HANDLE_FN) (PCredHandle phCredential)
 
typedef SECURITY_STATUS(SEC_ENTRYINITIALIZE_SECURITY_CONTEXT_FN_A) (PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYINITIALIZE_SECURITY_CONTEXT_FN_W) (PCredHandle phCredential, PCtxtHandle phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYACCEPT_SECURITY_CONTEXT_FN) (PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, ULONG fContextReq, ULONG TargetDataRep, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsTimeStamp)
 
typedef SECURITY_STATUS(SEC_ENTRYCOMPLETE_AUTH_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pToken)
 
typedef SECURITY_STATUS(SEC_ENTRYDELETE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYAPPLY_CONTROL_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pInput)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPERSONATE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYREVERT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYMAKE_SIGNATURE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
typedef SECURITY_STATUS(SEC_ENTRYVERIFY_SIGNATURE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
typedef SECURITY_STATUS(SEC_ENTRYFREE_CONTEXT_BUFFER_FN) (void *pvContextBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_PACKAGE_INFO_FN_A) (SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_PACKAGE_INFO_FN_W) (SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo)
 
typedef SECURITY_STATUS(SEC_ENTRYEXPORT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext, ULONG fFlags, PSecBuffer pPackedContext, HANDLE *pToken)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPORT_SECURITY_CONTEXT_FN_A) (SEC_CHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYIMPORT_SECURITY_CONTEXT_FN_W) (SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
typedef SECURITY_STATUS(SEC_ENTRYADD_CREDENTIALS_FN_A) (PCredHandle hCredentials, SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYADD_CREDENTIALS_FN_W) (PCredHandle hCredentials, SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
 
typedef SECURITY_STATUS(SEC_ENTRYQUERY_SECURITY_CONTEXT_TOKEN_FN) (PCtxtHandle phContext, HANDLE *phToken)
 
typedef SECURITY_STATUS(SEC_ENTRYENCRYPT_MESSAGE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
typedef SECURITY_STATUS(SEC_ENTRYDECRYPT_MESSAGE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SECURITY_STATUS(SEC_ENTRYSET_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
typedef SecurityFunctionTableA * PSecurityFunctionTableA
 
typedef SecurityFunctionTableW * PSecurityFunctionTableW
 
typedef PSecurityFunctionTableA(SEC_ENTRYINIT_SECURITY_INTERFACE_A) (void)
 
typedef PSecurityFunctionTableW(SEC_ENTRYINIT_SECURITY_INTERFACE_W) (void)
 
typedef PSecurityFunctionTableA(SEC_ENTRYINIT_SECURITY_INTERFACE_EX_A) (DWORD flags)
 
typedef PSecurityFunctionTableW(SEC_ENTRYINIT_SECURITY_INTERFACE_EX_W) (DWORD flags)
 

Functions

WINPR_API SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA (ULONG *pcPackages, PSecPkgInfoA *ppPackageInfo)
 
WINPR_API SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW (ULONG *pcPackages, PSecPkgInfoW *ppPackageInfo)
 
WINPR_API PSecurityFunctionTableA SEC_ENTRY InitSecurityInterfaceA (void)
 
WINPR_API PSecurityFunctionTableW SEC_ENTRY InitSecurityInterfaceW (void)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoA (SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoW (SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo)
 
WINPR_API SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleA (SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
WINPR_API SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleW (SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
 
WINPR_API SECURITY_STATUS SEC_ENTRY ExportSecurityContext (PCtxtHandle phContext, ULONG fFlags, PSecBuffer pPackedContext, HANDLE *pToken)
 
WINPR_API SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle (PCredHandle phCredential)
 
WINPR_API SECURITY_STATUS SEC_ENTRY ImportSecurityContextA (SEC_CHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
WINPR_API SECURITY_STATUS SEC_ENTRY ImportSecurityContextW (SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
 
WINPR_API SECURITY_STATUS SEC_ENTRY AcceptSecurityContext (PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, ULONG fContextReq, ULONG TargetDataRep, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsTimeStamp)
 
WINPR_API SECURITY_STATUS SEC_ENTRY ApplyControlToken (PCtxtHandle phContext, PSecBufferDesc pInput)
 
WINPR_API SECURITY_STATUS SEC_ENTRY CompleteAuthToken (PCtxtHandle phContext, PSecBufferDesc pToken)
 
WINPR_API SECURITY_STATUS SEC_ENTRY DeleteSecurityContext (PCtxtHandle phContext)
 
WINPR_API SECURITY_STATUS SEC_ENTRY FreeContextBuffer (void *pvContextBuffer)
 
WINPR_API SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext (PCtxtHandle phContext)
 
WINPR_API SECURITY_STATUS SEC_ENTRY InitializeSecurityContextA (PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
WINPR_API SECURITY_STATUS SEC_ENTRY InitializeSecurityContextW (PCredHandle phCredential, PCtxtHandle phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QueryContextAttributes (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
 
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken (PCtxtHandle phContext, HANDLE *phToken)
 
WINPR_API SECURITY_STATUS SEC_ENTRY SetContextAttributes (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
 
WINPR_API SECURITY_STATUS SEC_ENTRY RevertSecurityContext (PCtxtHandle phContext)
 
WINPR_API SECURITY_STATUS SEC_ENTRY DecryptMessage (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
WINPR_API SECURITY_STATUS SEC_ENTRY EncryptMessage (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
WINPR_API SECURITY_STATUS SEC_ENTRY MakeSignature (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
 
WINPR_API SECURITY_STATUS SEC_ENTRY VerifySignature (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
 
WINPR_API void sspi_GlobalInit (void)
 
WINPR_API void sspi_GlobalFinish (void)
 
WINPR_API void * sspi_SecBufferAlloc (PSecBuffer SecBuffer, ULONG size)
 
WINPR_API void sspi_SecBufferFree (PSecBuffer SecBuffer)
 
WINPR_API int sspi_SetAuthIdentity (SEC_WINNT_AUTH_IDENTITY *identity, const char *user, const char *domain, const char *password)
 
WINPR_API int sspi_SetAuthIdentityWithUnicodePassword (SEC_WINNT_AUTH_IDENTITY *identity, const char *user, const char *domain, LPWSTR password, ULONG passwordLength)
 
WINPR_API int sspi_CopyAuthIdentity (SEC_WINNT_AUTH_IDENTITY *identity, SEC_WINNT_AUTH_IDENTITY *srcIdentity)
 
WINPR_API const char * GetSecurityStatusString (SECURITY_STATUS status)
 
WINPR_API SecurityFunctionTableW *SEC_ENTRY InitSecurityInterfaceExW (DWORD flags)
 
WINPR_API SecurityFunctionTableA *SEC_ENTRY InitSecurityInterfaceExA (DWORD flags)
 

Macro Definition Documentation

#define __SECSTATUS_DEFINED__
#define _AUTH_IDENTITY_DEFINED
#define ACQUIRE_CREDENTIALS_HANDLE_FN   ACQUIRE_CREDENTIALS_HANDLE_FN_A
#define AcquireCredentialsHandle   AcquireCredentialsHandleA
#define ADD_CREDENTIALS_FN   ADD_CREDENTIALS_FN_A
#define AddCredentials   AddCredentialsA
#define ASC_REQ_ALLOCATE_MEMORY   0x00000100
#define ASC_REQ_ALLOW_CONTEXT_REPLAY   0x00400000
#define ASC_REQ_ALLOW_MISSING_BINDINGS   0x10000000
#define ASC_REQ_ALLOW_NON_USER_LOGONS   0x00200000
#define ASC_REQ_ALLOW_NULL_SESSION   0x00100000
#define ASC_REQ_CALL_LEVEL   0x00001000
#define ASC_REQ_CONFIDENTIALITY   0x00000010
#define ASC_REQ_CONNECTION   0x00000800
#define ASC_REQ_DATAGRAM   0x00000400
#define ASC_REQ_DELEGATE   0x00000001
#define ASC_REQ_EXTENDED_ERROR   0x00008000
#define ASC_REQ_FRAGMENT_SUPPLIED   0x00002000
#define ASC_REQ_FRAGMENT_TO_FIT   0x00800000
#define ASC_REQ_IDENTIFY   0x00080000
#define ASC_REQ_INTEGRITY   0x00020000
#define ASC_REQ_LICENSING   0x00040000
#define ASC_REQ_MUTUAL_AUTH   0x00000002
#define ASC_REQ_NO_TOKEN   0x01000000
#define ASC_REQ_PROXY_BINDINGS   0x04000000
#define ASC_REQ_REPLAY_DETECT   0x00000004
#define ASC_REQ_SEQUENCE_DETECT   0x00000008
#define ASC_REQ_STREAM   0x00010000
#define ASC_REQ_USE_DCE_STYLE   0x00000200
#define ASC_REQ_USE_SESSION_KEY   0x00000020
#define ASC_RET_ALLOCATED_MEMORY   0x00000100
#define ASC_RET_ALLOW_NON_USER_LOGONS   0x00200000
#define ASC_RET_CALL_LEVEL   0x00002000
#define ASC_RET_CONFIDENTIALITY   0x00000010
#define ASC_RET_CONNECTION   0x00000800
#define ASC_RET_DATAGRAM   0x00000400
#define ASC_RET_DELEGATE   0x00000001
#define ASC_RET_EXTENDED_ERROR   0x00008000
#define ASC_RET_FRAGMENT_ONLY   0x00800000
#define ASC_RET_IDENTIFY   0x00080000
#define ASC_RET_INTEGRITY   0x00020000
#define ASC_RET_LICENSING   0x00040000
#define ASC_RET_MISSING_BINDINGS   0x10000000
#define ASC_RET_MUTUAL_AUTH   0x00000002
#define ASC_RET_NO_PROXY_BINDINGS   0x04000000
#define ASC_RET_NO_TOKEN   0x01000000
#define ASC_RET_NULL_SESSION   0x00100000
#define ASC_RET_REPLAY_DETECT   0x00000004
#define ASC_RET_SEQUENCE_DETECT   0x00000008
#define ASC_RET_STREAM   0x00010000
#define ASC_RET_THIRD_LEG_FAILED   0x00004000
#define ASC_RET_USE_SESSION_KEY   0x00000020
#define ASC_RET_USED_DCE_STYLE   0x00000200
#define ENUMERATE_SECURITY_PACKAGES_FN   ENUMERATE_SECURITY_PACKAGES_FN_A
#define EnumerateSecurityPackages   EnumerateSecurityPackagesA
#define IMPORT_SECURITY_CONTEXT_FN   IMPORT_SECURITY_CONTEXT_FN_A
#define ImportSecurityContext   ImportSecurityContextA
#define INIT_SECURITY_INTERFACE   INIT_SECURITY_INTERFACE_A
#define INIT_SECURITY_INTERFACE_EX   INIT_SECURITY_INTERFACE_EX_A
#define INITIALIZE_SECURITY_CONTEXT_FN   INITIALIZE_SECURITY_CONTEXT_FN_A
#define InitializeSecurityContext   InitializeSecurityContextA
#define InitSecurityInterface   InitSecurityInterfaceA
#define InitSecurityInterfaceEx   InitSecurityInterfaceExA
#define ISC_REQ_ALLOCATE_MEMORY   0x00000100
#define ISC_REQ_CALL_LEVEL   0x00001000
#define ISC_REQ_CONFIDENTIALITY   0x00000010
#define ISC_REQ_CONNECTION   0x00000800
#define ISC_REQ_DATAGRAM   0x00000400
#define ISC_REQ_DELEGATE   0x00000001
#define ISC_REQ_EXTENDED_ERROR   0x00004000
#define ISC_REQ_FORWARD_CREDENTIALS   0x00400000
#define ISC_REQ_FRAGMENT_SUPPLIED   0x00002000
#define ISC_REQ_FRAGMENT_TO_FIT   0x00200000
#define ISC_REQ_IDENTIFY   0x00020000
#define ISC_REQ_INTEGRITY   0x00010000
#define ISC_REQ_MANUAL_CRED_VALIDATION   0x00080000
#define ISC_REQ_MUTUAL_AUTH   0x00000002
#define ISC_REQ_NO_INTEGRITY   0x00800000
#define ISC_REQ_NULL_SESSION   0x00040000
#define ISC_REQ_PROMPT_FOR_CREDS   0x00000040
#define ISC_REQ_REPLAY_DETECT   0x00000004
#define ISC_REQ_RESERVED1   0x00100000
#define ISC_REQ_SEQUENCE_DETECT   0x00000008
#define ISC_REQ_STREAM   0x00008000
#define ISC_REQ_USE_DCE_STYLE   0x00000200
#define ISC_REQ_USE_HTTP_STYLE   0x01000000
#define ISC_REQ_USE_SESSION_KEY   0x00000020
#define ISC_REQ_USE_SUPPLIED_CREDS   0x00000080
#define ISC_RET_ALLOCATED_MEMORY   0x00000100
#define ISC_RET_CALL_LEVEL   0x00002000
#define ISC_RET_CONFIDENTIALITY   0x00000010
#define ISC_RET_CONNECTION   0x00000800
#define ISC_RET_DATAGRAM   0x00000400
#define ISC_RET_DELEGATE   0x00000001
#define ISC_RET_EXTENDED_ERROR   0x00004000
#define ISC_RET_FORWARD_CREDENTIALS   0x00400000
#define ISC_RET_FRAGMENT_ONLY   0x00200000
#define ISC_RET_IDENTIFY   0x00020000
#define ISC_RET_INTEGRITY   0x00010000
#define ISC_RET_INTERMEDIATE_RETURN   0x00001000
#define ISC_RET_MANUAL_CRED_VALIDATION   0x00080000
#define ISC_RET_MUTUAL_AUTH   0x00000002
#define ISC_RET_NULL_SESSION   0x00040000
#define ISC_RET_REPLAY_DETECT   0x00000004
#define ISC_RET_RESERVED1   0x00100000
#define ISC_RET_SEQUENCE_DETECT   0x00000008
#define ISC_RET_STREAM   0x00008000
#define ISC_RET_USE_SESSION_KEY   0x00000020
#define ISC_RET_USED_COLLECTED_CREDS   0x00000040
#define ISC_RET_USED_DCE_STYLE   0x00000200
#define ISC_RET_USED_HTTP_STYLE   0x01000000
#define ISC_RET_USED_SUPPLIED_CREDS   0x00000080
#define KERBEROS_SSP_NAME   _T("Kerberos")
#define NEGO_SSP_NAME   _T("Negotiate")
#define NTLM_SSP_NAME   _T("NTLM")
#define PSecPkgCredentials_Names   PSecPkgCredentials_NamesA
#define PSecPkgInfo   PSecPkgInfoA
#define PSecurityFunctionTable   PSecurityFunctionTableA
#define QUERY_CONTEXT_ATTRIBUTES_FN   QUERY_CONTEXT_ATTRIBUTES_FN_A
#define QUERY_CREDENTIALS_ATTRIBUTES_FN   QUERY_CREDENTIALS_ATTRIBUTES_FN_A
#define QUERY_SECURITY_PACKAGE_INFO_FN   QUERY_SECURITY_PACKAGE_INFO_FN_A
#define QueryContextAttributes   QueryContextAttributesA
#define QueryCredentialsAttributes   QueryCredentialsAttributesA
#define QuerySecurityPackageInfo   QuerySecurityPackageInfoA
#define SEC_E_ALGORITHM_MISMATCH   (SECURITY_STATUS)0x80090331L
#define SEC_E_BAD_BINDINGS   (SECURITY_STATUS)0x80090346L
#define SEC_E_BAD_PKGID   (SECURITY_STATUS)0x80090316L
#define SEC_E_BUFFER_TOO_SMALL   (SECURITY_STATUS)0x80090321L
#define SEC_E_CANNOT_INSTALL   (SECURITY_STATUS)0x80090307L
#define SEC_E_CANNOT_PACK   (SECURITY_STATUS)0x80090309L
#define SEC_E_CERT_EXPIRED   (SECURITY_STATUS)0x80090328L
#define SEC_E_CERT_UNKNOWN   (SECURITY_STATUS)0x80090327L
#define SEC_E_CERT_WRONG_USAGE   (SECURITY_STATUS)0x80090349L
#define SEC_E_CONTEXT_EXPIRED   (SECURITY_STATUS)0x80090317L
#define SEC_E_CROSSREALM_DELEGATION_FAILURE   (SECURITY_STATUS)0x80090357L
#define SEC_E_CRYPTO_SYSTEM_INVALID   (SECURITY_STATUS)0x80090337L
#define SEC_E_DECRYPT_FAILURE   (SECURITY_STATUS)0x80090330L
#define SEC_E_DELEGATION_POLICY   (SECURITY_STATUS)0x8009035EL
#define SEC_E_DELEGATION_REQUIRED   (SECURITY_STATUS)0x80090345L
#define SEC_E_DOWNGRADE_DETECTED   (SECURITY_STATUS)0x80090350L
#define SEC_E_ENCRYPT_FAILURE   (SECURITY_STATUS)0x80090329L
#define SEC_E_ILLEGAL_MESSAGE   (SECURITY_STATUS)0x80090326L
#define SEC_E_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x80090320L
#define SEC_E_INCOMPLETE_MESSAGE   (SECURITY_STATUS)0x80090318L
#define SEC_E_INSUFFICIENT_MEMORY   (SECURITY_STATUS)0x80090300L
#define SEC_E_INTERNAL_ERROR   (SECURITY_STATUS)0x80090304L
#define SEC_E_INVALID_HANDLE   (SECURITY_STATUS)0x80090301L
#define SEC_E_INVALID_PARAMETER   (SECURITY_STATUS)0x8009035DL
#define SEC_E_INVALID_TOKEN   (SECURITY_STATUS)0x80090308L
#define SEC_E_ISSUING_CA_UNTRUSTED   (SECURITY_STATUS)0x80090352L
#define SEC_E_ISSUING_CA_UNTRUSTED_KDC   (SECURITY_STATUS)0x80090359L
#define SEC_E_KDC_CERT_EXPIRED   (SECURITY_STATUS)0x8009035AL
#define SEC_E_KDC_CERT_REVOKED   (SECURITY_STATUS)0x8009035BL
#define SEC_E_KDC_INVALID_REQUEST   (SECURITY_STATUS)0x80090340L
#define SEC_E_KDC_UNABLE_TO_REFER   (SECURITY_STATUS)0x80090341L
#define SEC_E_KDC_UNKNOWN_ETYPE   (SECURITY_STATUS)0x80090342L
#define SEC_E_LOGON_DENIED   (SECURITY_STATUS)0x8009030CL
#define SEC_E_MAX_REFERRALS_EXCEEDED   (SECURITY_STATUS)0x80090338L
#define SEC_E_MESSAGE_ALTERED   (SECURITY_STATUS)0x8009030FL
#define SEC_E_MULTIPLE_ACCOUNTS   (SECURITY_STATUS)0x80090347L
#define SEC_E_MUST_BE_KDC   (SECURITY_STATUS)0x80090339L
#define SEC_E_MUTUAL_AUTH_FAILED   (SECURITY_STATUS)0x80090363L
#define SEC_E_NO_AUTHENTICATING_AUTHORITY   (SECURITY_STATUS)0x80090311L
#define SEC_E_NO_CONTEXT   (SECURITY_STATUS)0x80090361L
#define SEC_E_NO_CREDENTIALS   (SECURITY_STATUS)0x8009030EL
#define SEC_E_NO_IMPERSONATION   (SECURITY_STATUS)0x8009030BL
#define SEC_E_NO_IP_ADDRESSES   (SECURITY_STATUS)0x80090335L
#define SEC_E_NO_KERB_KEY   (SECURITY_STATUS)0x80090348L
#define SEC_E_NO_PA_DATA   (SECURITY_STATUS)0x8009033CL
#define SEC_E_NO_S4U_PROT_SUPPORT   (SECURITY_STATUS)0x80090356L
#define SEC_E_NO_TGT_REPLY   (SECURITY_STATUS)0x80090334L
#define SEC_E_NOT_OWNER   (SECURITY_STATUS)0x80090306L
#define SEC_E_OK   (SECURITY_STATUS)0x00000000L
#define SEC_E_OUT_OF_SEQUENCE   (SECURITY_STATUS)0x80090310L
#define SEC_E_PKINIT_CLIENT_FAILURE   (SECURITY_STATUS)0x80090354L
#define SEC_E_PKINIT_NAME_MISMATCH   (SECURITY_STATUS)0x8009033DL
#define SEC_E_PKU2U_CERT_FAILURE   (SECURITY_STATUS)0x80090362L
#define SEC_E_POLICY_NLTM_ONLY   (SECURITY_STATUS)0x8009035FL
#define SEC_E_QOP_NOT_SUPPORTED   (SECURITY_STATUS)0x8009030AL
#define SEC_E_REVOCATION_OFFLINE_C   (SECURITY_STATUS)0x80090353L
#define SEC_E_REVOCATION_OFFLINE_KDC   (SECURITY_STATUS)0x80090358L
#define SEC_E_SECPKG_NOT_FOUND   (SECURITY_STATUS)0x80090305L
#define SEC_E_SECURITY_QOS_FAILED   (SECURITY_STATUS)0x80090332L
#define SEC_E_SHUTDOWN_IN_PROGRESS   (SECURITY_STATUS)0x8009033FL
#define SEC_E_SMARTCARD_CERT_EXPIRED   (SECURITY_STATUS)0x80090355L
#define SEC_E_SMARTCARD_CERT_REVOKED   (SECURITY_STATUS)0x80090351L
#define SEC_E_SMARTCARD_LOGON_REQUIRED   (SECURITY_STATUS)0x8009033EL
#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED   (SECURITY_STATUS)0x8009033AL
#define SEC_E_TARGET_UNKNOWN   (SECURITY_STATUS)0x80090303L
#define SEC_E_TIME_SKEW   (SECURITY_STATUS)0x80090324L
#define SEC_E_TOO_MANY_PRINCIPALS   (SECURITY_STATUS)0x8009033BL
#define SEC_E_UNFINISHED_CONTEXT_DELETED   (SECURITY_STATUS)0x80090333L
#define SEC_E_UNKNOWN_CREDENTIALS   (SECURITY_STATUS)0x8009030DL
#define SEC_E_UNSUPPORTED_FUNCTION   (SECURITY_STATUS)0x80090302L
#define SEC_E_UNSUPPORTED_PREAUTH   (SECURITY_STATUS)0x80090343L
#define SEC_E_UNTRUSTED_ROOT   (SECURITY_STATUS)0x80090325L
#define SEC_E_WRONG_CREDENTIAL_HANDLE   (SECURITY_STATUS)0x80090336L
#define SEC_E_WRONG_PRINCIPAL   (SECURITY_STATUS)0x80090322L
#define SEC_ENTRY

WinPR: Windows Portable Runtime Security Support Provider Interface (SSPI)

Copyright 2012-2014 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

#define SEC_I_COMPLETE_AND_CONTINUE   (SECURITY_STATUS)0x00090314L
#define SEC_I_COMPLETE_NEEDED   (SECURITY_STATUS)0x00090313L
#define SEC_I_CONTEXT_EXPIRED   (SECURITY_STATUS)0x00090317L
#define SEC_I_CONTINUE_NEEDED   (SECURITY_STATUS)0x00090312L
#define SEC_I_INCOMPLETE_CREDENTIALS   (SECURITY_STATUS)0x00090320L
#define SEC_I_LOCAL_LOGON   (SECURITY_STATUS)0x00090315L
#define SEC_I_NO_LSA_CONTEXT   (SECURITY_STATUS)0x00090323L
#define SEC_I_NO_RENEGOTIATION   (SECURITY_STATUS)0x00090360L
#define SEC_I_RENEGOTIATE   (SECURITY_STATUS)0x00090321L
#define SEC_I_SIGNATURE_NEEDED   (SECURITY_STATUS)0x0009035CL
#define SEC_WINNT_AUTH_IDENTITY_ANSI   0x1
#define SEC_WINNT_AUTH_IDENTITY_UNICODE   0x2
#define SECBUFFER_ALERT   17
#define SECBUFFER_ATTRMASK   0xF0000000
#define SECBUFFER_CHANGE_PASS_RESPONSE   15
#define SECBUFFER_CHANNEL_BINDINGS   14
#define SECBUFFER_DATA   1
#define SECBUFFER_EMPTY   0
#define SECBUFFER_EXTRA   5
#define SECBUFFER_MECHLIST   11
#define SECBUFFER_MECHLIST_SIGNATURE   12
#define SECBUFFER_MISSING   4
#define SECBUFFER_NEGOTIATION_INFO   8
#define SECBUFFER_PADDING   9
#define SECBUFFER_PKG_PARAMS   3
#define SECBUFFER_READONLY   0x80000000
#define SECBUFFER_READONLY_WITH_CHECKSUM   0x10000000
#define SECBUFFER_RESERVED   0x60000000
#define SECBUFFER_STREAM   10
#define SECBUFFER_STREAM_HEADER   7
#define SECBUFFER_STREAM_TRAILER   6
#define SECBUFFER_TARGET   13
#define SECBUFFER_TARGET_HOST   16
#define SECBUFFER_TOKEN   2
#define SECBUFFER_VERSION   0
#define SecInvalidateHandle (   x)    ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1));
#define SecIsValidHandle (   x)
Value:
((((PSecHandle)(x))->dwLower != ((ULONG_PTR)((INT_PTR)-1))) && \
(((PSecHandle)(x))->dwUpper != ((ULONG_PTR)((INT_PTR)-1))))
SecHandle * PSecHandle
Definition: include/winpr/sspi.h:636
UINT16 x
Definition: event.h:104
#define SECPKG_ATTR_ACCESS_TOKEN   18
#define SECPKG_ATTR_AUTH_IDENTITY   1001
#define SECPKG_ATTR_AUTH_NTLM_CLIENT_CHALLENGE   1102
#define SECPKG_ATTR_AUTH_NTLM_HASH   1003
#define SECPKG_ATTR_AUTH_NTLM_HASH_CB   1108
#define SECPKG_ATTR_AUTH_NTLM_HASH_CB_DATA   1109
#define SECPKG_ATTR_AUTH_NTLM_MESSAGE   1100
#define SECPKG_ATTR_AUTH_NTLM_MIC   1106
#define SECPKG_ATTR_AUTH_NTLM_MIC_VALUE   1107
#define SECPKG_ATTR_AUTH_NTLM_NTPROOF_VALUE   1104
#define SECPKG_ATTR_AUTH_NTLM_RANDKEY   1105
#define SECPKG_ATTR_AUTH_NTLM_SAM_FILE   1004
#define SECPKG_ATTR_AUTH_NTLM_SERVER_CHALLENGE   1103
#define SECPKG_ATTR_AUTH_NTLM_TIMESTAMP   1101
#define SECPKG_ATTR_AUTH_PASSWORD   1002
#define SECPKG_ATTR_AUTHENTICATION_ID   20
#define SECPKG_ATTR_AUTHORITY   6
#define SECPKG_ATTR_CLIENT_SPECIFIED_TARGET   27
#define SECPKG_ATTR_CONTEXT_DELETED   33
#define SECPKG_ATTR_CREDENTIAL_NAME   16
#define SECPKG_ATTR_DCE_INFO   3
#define SECPKG_ATTR_ENDPOINT_BINDINGS   26
#define SECPKG_ATTR_FLAGS   14
#define SECPKG_ATTR_KEY_INFO   5
#define SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS   30
#define SECPKG_ATTR_LIFESPAN   2
#define SECPKG_ATTR_LOGOFF_TIME   21
#define SECPKG_ATTR_NAMES   1
#define SECPKG_ATTR_NATIVE_NAMES   13
#define SECPKG_ATTR_NEGO_KEYS   22
#define SECPKG_ATTR_NEGO_PKG_INFO   31
#define SECPKG_ATTR_NEGO_STATUS   32
#define SECPKG_ATTR_NEGOTIATION_INFO   12
#define SECPKG_ATTR_PACKAGE_INFO   10
#define SECPKG_ATTR_PASSWORD_EXPIRY   8
#define SECPKG_ATTR_PROMPTING_NEEDED   24
#define SECPKG_ATTR_PROTO_INFO   7
#define SECPKG_ATTR_SESSION_KEY   9
#define SECPKG_ATTR_SIZES   0
#define SECPKG_ATTR_STREAM_SIZES   4
#define SECPKG_ATTR_TARGET   19
#define SECPKG_ATTR_TARGET_INFORMATION   17
#define SECPKG_ATTR_UNIQUE_BINDINGS   25
#define SECPKG_ATTR_USE_VALIDATED   15
#define SECPKG_ATTR_USER_FLAGS   11
#define SECPKG_CRED_ATTR_NAMES   1
#define SECPKG_CRED_AUTOLOGON_RESTRICTED   0x00000010
#define SECPKG_CRED_BOTH   0x00000003
#define SECPKG_CRED_INBOUND   0x00000001
#define SECPKG_CRED_OUTBOUND   0x00000002
#define SECPKG_CRED_PROCESS_POLICY_ONLY   0x00000020
#define SECPKG_FLAG_ACCEPT_WIN32_NAME   0x00000200
#define SECPKG_FLAG_ASCII_BUFFERS   0x00004000
#define SECPKG_FLAG_CLIENT_ONLY   0x00000040
#define SECPKG_FLAG_CONNECTION   0x00000010
#define SECPKG_FLAG_DATAGRAM   0x00000008
#define SECPKG_FLAG_DELEGATION   0x00020000
#define SECPKG_FLAG_EXTENDED_ERROR   0x00000080
#define SECPKG_FLAG_FRAGMENT   0x00008000
#define SECPKG_FLAG_GSS_COMPATIBLE   0x00001000
#define SECPKG_FLAG_IMPERSONATION   0x00000100
#define SECPKG_FLAG_INTEGRITY   0x00000001
#define SECPKG_FLAG_LOGON   0x00002000
#define SECPKG_FLAG_MULTI_REQUIRED   0x00000020
#define SECPKG_FLAG_MUTUAL_AUTH   0x00010000
#define SECPKG_FLAG_NEGO_EXTENDER   0x00100000
#define SECPKG_FLAG_NEGOTIABLE   0x00000800
#define SECPKG_FLAG_NEGOTIABLE2   0x00200000
#define SECPKG_FLAG_PRIVACY   0x00000002
#define SECPKG_FLAG_READONLY_WITH_CHECKSUM   0x00040000
#define SECPKG_FLAG_RESTRICTED_TOKENS   0x00080000
#define SECPKG_FLAG_STREAM   0x00000400
#define SECPKG_FLAG_TOKEN_ONLY   0x00000004
#define SECPKG_ID_NONE   0xFFFF
#define SecPkgCredentials_Names   SecPkgCredentials_NamesA
#define SecPkgInfo   SecPkgInfoA
#define SECURITY_NATIVE_DREP   0x00000010
#define SECURITY_NETWORK_DREP   0x00000000
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION   1 /* Interface has all routines through DecryptMessage */
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2   2 /* Interface has all routines through SetContextAttributes */
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3   3 /* Interface has all routines through SetCredentialsAttributes */
#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4   4 /* Interface has all routines through ChangeAccountPassword */
#define SecurityFunctionTable   SecurityFunctionTableA
#define SET_CONTEXT_ATTRIBUTES_FN   SET_CONTEXT_ATTRIBUTES_FN_A
#define SetContextAttributes   SetContextAttributesA
#define SSPI_INTERFACE_NATIVE   0x00000002
#define SSPI_INTERFACE_WINPR   0x00000001

Typedef Documentation

typedef SECURITY_STATUS(SEC_ENTRY* ACCEPT_SECURITY_CONTEXT_FN) (PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, ULONG fContextReq, ULONG TargetDataRep, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsTimeStamp)
typedef SECURITY_STATUS(SEC_ENTRY* ACQUIRE_CREDENTIALS_HANDLE_FN_A) (LPSTR pszPrincipal, LPSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
typedef SECURITY_STATUS(SEC_ENTRY* ACQUIRE_CREDENTIALS_HANDLE_FN_W) (LPWSTR pszPrincipal, LPWSTR pszPackage, ULONG fCredentialUse, void *pvLogonID, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry)
typedef SECURITY_STATUS(SEC_ENTRY* ADD_CREDENTIALS_FN_A) (PCredHandle hCredentials, SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
typedef SECURITY_STATUS(SEC_ENTRY* ADD_CREDENTIALS_FN_W) (PCredHandle hCredentials, SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, UINT32 fCredentialUse, void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, PTimeStamp ptsExpiry)
typedef UINT32 ALG_ID
typedef SECURITY_STATUS(SEC_ENTRY* APPLY_CONTROL_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pInput)
typedef SECURITY_STATUS(SEC_ENTRY* COMPLETE_AUTH_TOKEN_FN) (PCtxtHandle phContext, PSecBufferDesc pToken)
typedef SecHandle CredHandle
typedef SecHandle CtxtHandle
typedef SECURITY_STATUS(SEC_ENTRY* DECRYPT_MESSAGE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)
typedef SECURITY_STATUS(SEC_ENTRY* DELETE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
typedef SECURITY_STATUS(SEC_ENTRY* ENCRYPT_MESSAGE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
typedef SECURITY_STATUS(SEC_ENTRY* ENUMERATE_SECURITY_PACKAGES_FN_A) (ULONG *pcPackages, PSecPkgInfoA *ppPackageInfo)
typedef SECURITY_STATUS(SEC_ENTRY* ENUMERATE_SECURITY_PACKAGES_FN_W) (ULONG *pcPackages, PSecPkgInfoW *ppPackageInfo)
typedef SECURITY_STATUS(SEC_ENTRY* EXPORT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext, ULONG fFlags, PSecBuffer pPackedContext, HANDLE *pToken)
typedef SECURITY_STATUS(SEC_ENTRY* FREE_CONTEXT_BUFFER_FN) (void *pvContextBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* FREE_CREDENTIALS_HANDLE_FN) (PCredHandle phCredential)
typedef SECURITY_STATUS(SEC_ENTRY* IMPERSONATE_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
typedef SECURITY_STATUS(SEC_ENTRY* IMPORT_SECURITY_CONTEXT_FN_A) (SEC_CHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
typedef SECURITY_STATUS(SEC_ENTRY* IMPORT_SECURITY_CONTEXT_FN_W) (SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, HANDLE pToken, PCtxtHandle phContext)
typedef PSecurityFunctionTableA(SEC_ENTRY* INIT_SECURITY_INTERFACE_A) (void)
typedef PSecurityFunctionTableA(SEC_ENTRY* INIT_SECURITY_INTERFACE_EX_A) (DWORD flags)
typedef PSecurityFunctionTableW(SEC_ENTRY* INIT_SECURITY_INTERFACE_EX_W) (DWORD flags)
typedef PSecurityFunctionTableW(SEC_ENTRY* INIT_SECURITY_INTERFACE_W) (void)
typedef SECURITY_STATUS(SEC_ENTRY* INITIALIZE_SECURITY_CONTEXT_FN_A) (PCredHandle phCredential, PCtxtHandle phContext, SEC_CHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
typedef SECURITY_STATUS(SEC_ENTRY* INITIALIZE_SECURITY_CONTEXT_FN_W) (PCredHandle phCredential, PCtxtHandle phContext, SEC_WCHAR *pszTargetName, ULONG fContextReq, ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, PULONG pfContextAttr, PTimeStamp ptsExpiry)
typedef SECURITY_STATUS(SEC_ENTRY* MAKE_SIGNATURE_FN) (PCtxtHandle phContext, ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo)
typedef SecBuffer* PSecBuffer
typedef SecBufferDesc* PSecBufferDesc
typedef SecHandle* PSecHandle
typedef SecPkgCredentials_NamesA* PSecPkgCredentials_NamesA
typedef SecPkgCredentials_NamesW* PSecPkgCredentials_NamesW
typedef SecPkgInfoA* PSecPkgInfoA
typedef SecPkgInfoW* PSecPkgInfoW
typedef SecurityFunctionTableA* PSecurityFunctionTableA
typedef SecurityFunctionTableW* PSecurityFunctionTableW
typedef SECURITY_INTEGER* PTimeStamp
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CREDENTIALS_ATTRIBUTES_FN_A) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_CREDENTIALS_ATTRIBUTES_FN_W) (PCredHandle phCredential, ULONG ulAttribute, void *pBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_CONTEXT_TOKEN_FN) (PCtxtHandle phContext, HANDLE *phToken)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_PACKAGE_INFO_FN_A) (SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo)
typedef SECURITY_STATUS(SEC_ENTRY* QUERY_SECURITY_PACKAGE_INFO_FN_W) (SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo)
typedef SECURITY_STATUS(SEC_ENTRY* REVERT_SECURITY_CONTEXT_FN) (PCtxtHandle phContext)
typedef CHAR SEC_CHAR
typedef void(SEC_ENTRY* SEC_GET_KEY_FN) (void *Arg, void *Principal, UINT32 KeyVer, void **Key, SECURITY_STATUS *pStatus)
typedef WCHAR SEC_WCHAR
typedef LONG SECURITY_STATUS
typedef SECURITY_STATUS(SEC_ENTRY* SET_CONTEXT_ATTRIBUTES_FN_A) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
typedef SECURITY_STATUS(SEC_ENTRY* SET_CONTEXT_ATTRIBUTES_FN_W) (PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer, ULONG cbBuffer)
typedef SECURITY_INTEGER TimeStamp
typedef SECURITY_STATUS(SEC_ENTRY* VERIFY_SIGNATURE_FN) (PCtxtHandle phContext, PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP)

Function Documentation

WINPR_API SECURITY_STATUS SEC_ENTRY AcceptSecurityContext ( PCredHandle  phCredential,
PCtxtHandle  phContext,
PSecBufferDesc  pInput,
ULONG  fContextReq,
ULONG  TargetDataRep,
PCtxtHandle  phNewContext,
PSecBufferDesc  pOutput,
PULONG  pfContextAttr,
PTimeStamp  ptsTimeStamp 
)
WINPR_API SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleA ( SEC_CHAR pszPrincipal,
SEC_CHAR pszPackage,
ULONG  fCredentialUse,
void *  pvLogonID,
void *  pAuthData,
SEC_GET_KEY_FN  pGetKeyFn,
void *  pvGetKeyArgument,
PCredHandle  phCredential,
PTimeStamp  ptsExpiry 
)
WINPR_API SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleW ( SEC_WCHAR pszPrincipal,
SEC_WCHAR pszPackage,
ULONG  fCredentialUse,
void *  pvLogonID,
void *  pAuthData,
SEC_GET_KEY_FN  pGetKeyFn,
void *  pvGetKeyArgument,
PCredHandle  phCredential,
PTimeStamp  ptsExpiry 
)
WINPR_API SECURITY_STATUS SEC_ENTRY ApplyControlToken ( PCtxtHandle  phContext,
PSecBufferDesc  pInput 
)
WINPR_API SECURITY_STATUS SEC_ENTRY CompleteAuthToken ( PCtxtHandle  phContext,
PSecBufferDesc  pToken 
)
WINPR_API SECURITY_STATUS SEC_ENTRY DecryptMessage ( PCtxtHandle  phContext,
PSecBufferDesc  pMessage,
ULONG  MessageSeqNo,
PULONG  pfQOP 
)
WINPR_API SECURITY_STATUS SEC_ENTRY DeleteSecurityContext ( PCtxtHandle  phContext)
WINPR_API SECURITY_STATUS SEC_ENTRY EncryptMessage ( PCtxtHandle  phContext,
ULONG  fQOP,
PSecBufferDesc  pMessage,
ULONG  MessageSeqNo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA ( ULONG *  pcPackages,
PSecPkgInfoA ppPackageInfo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW ( ULONG *  pcPackages,
PSecPkgInfoW ppPackageInfo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY ExportSecurityContext ( PCtxtHandle  phContext,
ULONG  fFlags,
PSecBuffer  pPackedContext,
HANDLE *  pToken 
)
WINPR_API SECURITY_STATUS SEC_ENTRY FreeContextBuffer ( void *  pvContextBuffer)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle ( PCredHandle  phCredential)
WINPR_API const char* GetSecurityStatusString ( SECURITY_STATUS  status)
WINPR_API SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext ( PCtxtHandle  phContext)
WINPR_API SECURITY_STATUS SEC_ENTRY ImportSecurityContextA ( SEC_CHAR pszPackage,
PSecBuffer  pPackedContext,
HANDLE  pToken,
PCtxtHandle  phContext 
)
WINPR_API SECURITY_STATUS SEC_ENTRY ImportSecurityContextW ( SEC_WCHAR pszPackage,
PSecBuffer  pPackedContext,
HANDLE  pToken,
PCtxtHandle  phContext 
)
WINPR_API SECURITY_STATUS SEC_ENTRY InitializeSecurityContextA ( PCredHandle  phCredential,
PCtxtHandle  phContext,
SEC_CHAR pszTargetName,
ULONG  fContextReq,
ULONG  Reserved1,
ULONG  TargetDataRep,
PSecBufferDesc  pInput,
ULONG  Reserved2,
PCtxtHandle  phNewContext,
PSecBufferDesc  pOutput,
PULONG  pfContextAttr,
PTimeStamp  ptsExpiry 
)
WINPR_API SECURITY_STATUS SEC_ENTRY InitializeSecurityContextW ( PCredHandle  phCredential,
PCtxtHandle  phContext,
SEC_WCHAR pszTargetName,
ULONG  fContextReq,
ULONG  Reserved1,
ULONG  TargetDataRep,
PSecBufferDesc  pInput,
ULONG  Reserved2,
PCtxtHandle  phNewContext,
PSecBufferDesc  pOutput,
PULONG  pfContextAttr,
PTimeStamp  ptsExpiry 
)
WINPR_API PSecurityFunctionTableA SEC_ENTRY InitSecurityInterfaceA ( void  )

Here is the call graph for this function:

WINPR_API SecurityFunctionTableA* SEC_ENTRY InitSecurityInterfaceExA ( DWORD  flags)

Here is the call graph for this function:

WINPR_API SecurityFunctionTableW* SEC_ENTRY InitSecurityInterfaceExW ( DWORD  flags)

Here is the call graph for this function:

WINPR_API PSecurityFunctionTableW SEC_ENTRY InitSecurityInterfaceW ( void  )

Here is the call graph for this function:

WINPR_API SECURITY_STATUS SEC_ENTRY MakeSignature ( PCtxtHandle  phContext,
ULONG  fQOP,
PSecBufferDesc  pMessage,
ULONG  MessageSeqNo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QueryContextAttributes ( PCtxtHandle  phContext,
ULONG  ulAttribute,
void *  pBuffer 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA ( PCredHandle  phCredential,
ULONG  ulAttribute,
void *  pBuffer 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW ( PCredHandle  phCredential,
ULONG  ulAttribute,
void *  pBuffer 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken ( PCtxtHandle  phContext,
HANDLE *  phToken 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoA ( SEC_CHAR pszPackageName,
PSecPkgInfoA ppPackageInfo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoW ( SEC_WCHAR pszPackageName,
PSecPkgInfoW ppPackageInfo 
)
WINPR_API SECURITY_STATUS SEC_ENTRY RevertSecurityContext ( PCtxtHandle  phContext)
WINPR_API SECURITY_STATUS SEC_ENTRY SetContextAttributes ( PCtxtHandle  phContext,
ULONG  ulAttribute,
void *  pBuffer,
ULONG  cbBuffer 
)
WINPR_API int sspi_CopyAuthIdentity ( SEC_WINNT_AUTH_IDENTITY *  identity,
SEC_WINNT_AUTH_IDENTITY *  srcIdentity 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void sspi_GlobalFinish ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void sspi_GlobalInit ( void  )

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API void* sspi_SecBufferAlloc ( PSecBuffer  SecBuffer,
ULONG  size 
)

Here is the caller graph for this function:

WINPR_API void sspi_SecBufferFree ( PSecBuffer  SecBuffer)

Here is the caller graph for this function:

WINPR_API int sspi_SetAuthIdentity ( SEC_WINNT_AUTH_IDENTITY *  identity,
const char *  user,
const char *  domain,
const char *  password 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API int sspi_SetAuthIdentityWithUnicodePassword ( SEC_WINNT_AUTH_IDENTITY *  identity,
const char *  user,
const char *  domain,
LPWSTR  password,
ULONG  passwordLength 
)

Here is the call graph for this function:

Here is the caller graph for this function:

WINPR_API SECURITY_STATUS SEC_ENTRY VerifySignature ( PCtxtHandle  phContext,
PSecBufferDesc  pMessage,
ULONG  MessageSeqNo,
PULONG  pfQOP 
)