Interface Sspi
- Author:
- dblock[at]dblock.org
- 
Nested Class SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic classCredentials handle.static classSecurity context handle.static classA pointer to a SecHandlestatic classA pointer to an array of SecPkgInfo structures.static classstatic classThe SecBuffer structure describes a buffer allocated by a transport application to pass to a security package.static classThe SecBufferDesc structure describes an array of SecBuffer structures to pass from a transport application to a security package.static classSecurity handle.static classstatic classstatic classstatic classstatic classThe SecPkgContext_PackageInfo structure.static classstatic classThe SecPkgContext_Sizes structure indicates the sizes of important structures used in the message support functions.static classThe SecPkgCredentials_Names structure holds the name of the user associated with a context.static classThe SecPkgInfo structure provides general information about a security package, such as its name and capabilities.static classA security integer.static classA timestamp.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intThe security package allocates output buffers for you.static final intEncrypt messages by using the EncryptMessage function.static final intThe security context will not handle formatting messages.static final intThe server can use the context to authenticate to other servers as the client.static final intWhen errors occur, the remote party will be notified.static final intSign messages and verify signatures by using the EncryptMessage and MakeSignature functions.static final intThe mutual authentication policy of the service will be satisfied.static final intDetect replayed messages that have been encoded by using the EncryptMessage or MakeSignature functions.static final intDetect messages received out of sequence.static final intSupport a stream-oriented connection.static final intMaximum size in bytes of a security token.static final intStrings in structureSspi.SEC_WINNT_AUTH_IDENTITYare ANSIstatic final intString in structureSspi.SEC_WINNT_AUTH_IDENTITYare UNICODEstatic final intThis buffer type is used for common data.static final intThis is a placeholder in the buffer array.static final intThis buffer type is used to indicate the security token portion of the message.static final intVersion of the SecBuffer struct.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_AccessToken structure.static final intstatic final intThe pBuffer parameter contains a pointer to a SecPkgContext_Authority structure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_ClientSpecifiedTarget structure that represents the service principal name (SPN) of the initial target supplied by the client.static final intstatic final intstatic final intThe pBuffer parameter contains a pointer to a SecPkgContext_DceInfo structure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_Bindings structure that specifies channel binding information.static final intThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_Flagsstructure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_KeyInfo structure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_LastClientTokenStatus structure that specifies whether the token from the most recent call to the InitializeSecurityContext function is the last token from the client.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_Lifespan structure.static final intstatic final intThe pBuffer parameter contains a pointer to aSspi.SecPkgCredentials_Namesstructure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_NativeNames structure.static final intstatic final intstatic final intstatic final intThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_NegotiationInfostructure.static final intThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_PackageInfostructure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_PasswordExpiry structure.static final intstatic final intstatic final intThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_SessionKeystructure.static final intThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_Sizesstructure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_StreamSizes structure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_SubjectAttributes structure.static final intstatic final intThe pBuffer parameter contains a pointer to a SecPkgContext_TargetInformation structure.static final intThe pBuffer parameter contains a pointer to a SecPkgContext_Bindings structure that specifies channel binding information.static final intstatic final intstatic final intReturns the name of a credential in a pbuffer of typeSspi.SecPkgCredentials_Names.static final intValidate an incoming server credential.static final intAllow a local client credential to prepare an outgoing token.static final intAccepts Win32 namesstatic final intThis package receives calls from app container apps if one of the following checks succeeds.static final intThis package receives all calls from app container apps.static final intToken Buffers are in ASCIIstatic final intServer side functionality not availablestatic final intConnection oriented RPC supportstatic final intDatagram RPC supportstatic final intPackage can delegatestatic final intSupports extended error msgsstatic final intPackage can fragment to fitstatic final intGSS Compatibility Availablestatic final intSupports impersonationstatic final intSupports integrity on messagesstatic final intSupports common LsaLogonUserstatic final intFull 3-leg required for re-auth.static final intPackage can perform mutual authenticationstatic final intThe security package extends the Microsoft Negotiate security package.static final intCan be used by the negotiate packagestatic final intThis package is negotiated by the package of type SECPKG_FLAG_NEGO_EXTENDER.static final intSupports privacy (confidentiality)static final intSupports callers with restricted tokens.static final intSupports stream semanticsstatic final intOnly security token neededstatic final intNegotiation has been completed.static final intstatic final intNegotiations in progress.static final intNegotiations not yet completed.static final intstatic final intProduce a header or trailer but do not encrypt the message.static final intSend an Schannel alert message.static final intSpecifies Native data representation.static final intSpecifies network data representation.
- 
Field Details- 
MAX_TOKEN_SIZEstatic final int MAX_TOKEN_SIZEMaximum size in bytes of a security token.MAX_TOKEN_SIZEhas the following default value, depending on the version of Windows that builds the token:Windows Server 2008 R2 and earlier versions, and Windows 7 and earlier versions: 12,000 bytes. Windows Server 2012 and later versions, and Windows 8 and later versions: 48,000 bytes 
- 
SECPKG_CRED_INBOUNDstatic final int SECPKG_CRED_INBOUNDValidate an incoming server credential. Inbound credentials might be validated by using an authenticating authority when InitializeSecurityContext or AcceptSecurityContext is called. If such an authority is not available, the function will fail and return SEC_E_NO_AUTHENTICATING_AUTHORITY. Validation is package specific.- See Also:
 
- 
SECPKG_CRED_OUTBOUNDstatic final int SECPKG_CRED_OUTBOUNDAllow a local client credential to prepare an outgoing token.- See Also:
 
- 
SECURITY_NATIVE_DREPstatic final int SECURITY_NATIVE_DREPSpecifies Native data representation.- See Also:
 
- 
SECURITY_NETWORK_DREPstatic final int SECURITY_NETWORK_DREPSpecifies network data representation.- See Also:
 
- 
ISC_REQ_ALLOCATE_MEMORYstatic final int ISC_REQ_ALLOCATE_MEMORYThe security package allocates output buffers for you. When you have finished using the output buffers, free them by calling the FreeContextBuffer function.- See Also:
 
- 
ISC_REQ_CONFIDENTIALITYstatic final int ISC_REQ_CONFIDENTIALITYEncrypt messages by using the EncryptMessage function.- See Also:
 
- 
ISC_REQ_CONNECTIONstatic final int ISC_REQ_CONNECTIONThe security context will not handle formatting messages. This value is the default.- See Also:
 
- 
ISC_REQ_DELEGATEstatic final int ISC_REQ_DELEGATEThe server can use the context to authenticate to other servers as the client. The ISC_REQ_MUTUAL_AUTH flag must be set for this flag to work. Valid for Kerberos. Ignore this flag for constrained delegation.- See Also:
 
- 
ISC_REQ_EXTENDED_ERRORstatic final int ISC_REQ_EXTENDED_ERRORWhen errors occur, the remote party will be notified.- See Also:
 
- 
ISC_REQ_INTEGRITYstatic final int ISC_REQ_INTEGRITYSign messages and verify signatures by using the EncryptMessage and MakeSignature functions.- See Also:
 
- 
ISC_REQ_MUTUAL_AUTHstatic final int ISC_REQ_MUTUAL_AUTHThe mutual authentication policy of the service will be satisfied.- See Also:
 
- 
ISC_REQ_REPLAY_DETECTstatic final int ISC_REQ_REPLAY_DETECTDetect replayed messages that have been encoded by using the EncryptMessage or MakeSignature functions.- See Also:
 
- 
ISC_REQ_SEQUENCE_DETECTstatic final int ISC_REQ_SEQUENCE_DETECTDetect messages received out of sequence.- See Also:
 
- 
ISC_REQ_STREAMstatic final int ISC_REQ_STREAMSupport a stream-oriented connection.- See Also:
 
- 
SECBUFFER_VERSIONstatic final int SECBUFFER_VERSIONVersion of the SecBuffer struct.- See Also:
 
- 
SECBUFFER_EMPTYstatic final int SECBUFFER_EMPTYThis is a placeholder in the buffer array.- See Also:
 
- 
SECBUFFER_DATAstatic final int SECBUFFER_DATAThis buffer type is used for common data. The security package can read and write this data.- See Also:
 
- 
SECBUFFER_TOKENstatic final int SECBUFFER_TOKENThis buffer type is used to indicate the security token portion of the message. This is read-only for input parameters or read/write for output parameters.- See Also:
 
- 
SECPKG_ATTR_SIZESstatic final int SECPKG_ATTR_SIZESThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_Sizesstructure.Queries the sizes of the structures used in the per-message functions. - See Also:
 
- 
SECPKG_ATTR_NAMESstatic final int SECPKG_ATTR_NAMESThe pBuffer parameter contains a pointer to aSspi.SecPkgCredentials_Namesstructure.Queries the name associated with the context. - See Also:
 
- 
SECPKG_ATTR_LIFESPANstatic final int SECPKG_ATTR_LIFESPANThe pBuffer parameter contains a pointer to a SecPkgContext_Lifespan structure.Queries the life span of the context. - See Also:
 
- 
SECPKG_ATTR_DCE_INFOstatic final int SECPKG_ATTR_DCE_INFOThe pBuffer parameter contains a pointer to a SecPkgContext_DceInfo structure.Queries for authorization data used by DCE services. - See Also:
 
- 
SECPKG_ATTR_STREAM_SIZESstatic final int SECPKG_ATTR_STREAM_SIZESThe pBuffer parameter contains a pointer to a SecPkgContext_StreamSizes structure.Queries the sizes of the various parts of a stream used in the per-message functions. This attribute is supported only by the Schannel security package. - See Also:
 
- 
SECPKG_ATTR_KEY_INFOstatic final int SECPKG_ATTR_KEY_INFOThe pBuffer parameter contains a pointer to a SecPkgContext_KeyInfo structure.Queries information about the keys used in a security context. - See Also:
 
- 
SECPKG_ATTR_AUTHORITYstatic final int SECPKG_ATTR_AUTHORITYThe pBuffer parameter contains a pointer to a SecPkgContext_Authority structure.Queries the name of the authenticating authority. - See Also:
 
- 
SECPKG_ATTR_PROTO_INFOstatic final int SECPKG_ATTR_PROTO_INFO- See Also:
 
- 
SECPKG_ATTR_PASSWORD_EXPIRYstatic final int SECPKG_ATTR_PASSWORD_EXPIRYThe pBuffer parameter contains a pointer to a SecPkgContext_PasswordExpiry structure.Returns password expiration information. - See Also:
 
- 
SECPKG_ATTR_SESSION_KEYstatic final int SECPKG_ATTR_SESSION_KEYThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_SessionKeystructure. Returns information about the session keys.- See Also:
 
- 
SECPKG_ATTR_PACKAGE_INFOstatic final int SECPKG_ATTR_PACKAGE_INFOThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_PackageInfostructure. Returns information on the SSP in use.- See Also:
 
- 
SECPKG_ATTR_USER_FLAGSstatic final int SECPKG_ATTR_USER_FLAGS- See Also:
 
- 
SECPKG_ATTR_NEGOTIATION_INFOstatic final int SECPKG_ATTR_NEGOTIATION_INFOThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_NegotiationInfostructure.Returns information about the security package to be used with the negotiation process and the current state of the negotiation for the use of that package. - See Also:
 
- 
SECPKG_ATTR_NATIVE_NAMESstatic final int SECPKG_ATTR_NATIVE_NAMESThe pBuffer parameter contains a pointer to a SecPkgContext_NativeNames structure.Returns the principal name (CNAME) from the outbound ticket. - See Also:
 
- 
SECPKG_ATTR_FLAGSstatic final int SECPKG_ATTR_FLAGSThe pBuffer parameter contains a pointer to aSspi.SecPkgContext_Flagsstructure.Returns information about the negotiated context flags. - See Also:
 
- 
SECPKG_ATTR_USE_VALIDATEDstatic final int SECPKG_ATTR_USE_VALIDATED- See Also:
 
- 
SECPKG_ATTR_CREDENTIAL_NAMEstatic final int SECPKG_ATTR_CREDENTIAL_NAME- See Also:
 
- 
SECPKG_ATTR_TARGET_INFORMATIONstatic final int SECPKG_ATTR_TARGET_INFORMATIONThe pBuffer parameter contains a pointer to a SecPkgContext_TargetInformation structure.Returns information about the name of the remote server. - See Also:
 
- 
SECPKG_ATTR_ACCESS_TOKENstatic final int SECPKG_ATTR_ACCESS_TOKENThe pBuffer parameter contains a pointer to a SecPkgContext_AccessToken structure.Returns a handle to the access token. - See Also:
 
- 
SECPKG_ATTR_TARGETstatic final int SECPKG_ATTR_TARGET- See Also:
 
- 
SECPKG_ATTR_AUTHENTICATION_IDstatic final int SECPKG_ATTR_AUTHENTICATION_ID- See Also:
 
- 
SECPKG_ATTR_LOGOFF_TIMEstatic final int SECPKG_ATTR_LOGOFF_TIME- See Also:
 
- 
SECPKG_ATTR_NEGO_KEYSstatic final int SECPKG_ATTR_NEGO_KEYS- See Also:
 
- 
SECPKG_ATTR_PROMPTING_NEEDEDstatic final int SECPKG_ATTR_PROMPTING_NEEDED- See Also:
 
- 
SECPKG_ATTR_UNIQUE_BINDINGSstatic final int SECPKG_ATTR_UNIQUE_BINDINGSThe pBuffer parameter contains a pointer to a SecPkgContext_Bindings structure that specifies channel binding information.This value is supported only by the Schannel security package. Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - See Also:
 
- 
SECPKG_ATTR_ENDPOINT_BINDINGSstatic final int SECPKG_ATTR_ENDPOINT_BINDINGSThe pBuffer parameter contains a pointer to a SecPkgContext_Bindings structure that specifies channel binding information.This attribute is supported only by the Schannel security package. Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - See Also:
 
- 
SECPKG_ATTR_CLIENT_SPECIFIED_TARGETstatic final int SECPKG_ATTR_CLIENT_SPECIFIED_TARGETThe pBuffer parameter contains a pointer to a SecPkgContext_ClientSpecifiedTarget structure that represents the service principal name (SPN) of the initial target supplied by the client.Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - See Also:
 
- 
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUSstatic final int SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUSThe pBuffer parameter contains a pointer to a SecPkgContext_LastClientTokenStatus structure that specifies whether the token from the most recent call to the InitializeSecurityContext function is the last token from the client.This value is supported only by the Negotiate, Kerberos, and NTLM security packages. Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - See Also:
 
- 
SECPKG_ATTR_NEGO_PKG_INFOstatic final int SECPKG_ATTR_NEGO_PKG_INFO- See Also:
 
- 
SECPKG_ATTR_NEGO_STATUSstatic final int SECPKG_ATTR_NEGO_STATUS- See Also:
 
- 
SECPKG_ATTR_CONTEXT_DELETEDstatic final int SECPKG_ATTR_CONTEXT_DELETED- See Also:
 
- 
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTESstatic final int SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTESThe pBuffer parameter contains a pointer to a SecPkgContext_SubjectAttributes structure.This value returns information about the security attributes for the connection. This value is supported only on the CredSSP server. Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP: This value is not supported. - See Also:
 
- 
SECPKG_NEGOTIATION_COMPLETEstatic final int SECPKG_NEGOTIATION_COMPLETENegotiation has been completed.- See Also:
 
- 
SECPKG_NEGOTIATION_OPTIMISTICstatic final int SECPKG_NEGOTIATION_OPTIMISTICNegotiations not yet completed.- See Also:
 
- 
SECPKG_NEGOTIATION_IN_PROGRESSstatic final int SECPKG_NEGOTIATION_IN_PROGRESSNegotiations in progress.- See Also:
 
- 
SECPKG_NEGOTIATION_DIRECTstatic final int SECPKG_NEGOTIATION_DIRECT- See Also:
 
- 
SECPKG_NEGOTIATION_TRY_MULTICREDstatic final int SECPKG_NEGOTIATION_TRY_MULTICRED- See Also:
 
- 
SECPKG_FLAG_INTEGRITYstatic final int SECPKG_FLAG_INTEGRITYSupports integrity on messages- See Also:
 
- 
SECPKG_FLAG_PRIVACYstatic final int SECPKG_FLAG_PRIVACYSupports privacy (confidentiality)- See Also:
 
- 
SECPKG_FLAG_TOKEN_ONLYstatic final int SECPKG_FLAG_TOKEN_ONLYOnly security token needed- See Also:
 
- 
SECPKG_FLAG_DATAGRAMstatic final int SECPKG_FLAG_DATAGRAMDatagram RPC support- See Also:
 
- 
SECPKG_FLAG_CONNECTIONstatic final int SECPKG_FLAG_CONNECTIONConnection oriented RPC support- See Also:
 
- 
SECPKG_FLAG_MULTI_REQUIREDstatic final int SECPKG_FLAG_MULTI_REQUIREDFull 3-leg required for re-auth.- See Also:
 
- 
SECPKG_FLAG_CLIENT_ONLYstatic final int SECPKG_FLAG_CLIENT_ONLYServer side functionality not available- See Also:
 
- 
SECPKG_FLAG_EXTENDED_ERRORstatic final int SECPKG_FLAG_EXTENDED_ERRORSupports extended error msgs- See Also:
 
- 
SECPKG_FLAG_IMPERSONATIONstatic final int SECPKG_FLAG_IMPERSONATIONSupports impersonation- See Also:
 
- 
SECPKG_FLAG_ACCEPT_WIN32_NAMEstatic final int SECPKG_FLAG_ACCEPT_WIN32_NAMEAccepts Win32 names- See Also:
 
- 
SECPKG_FLAG_STREAMstatic final int SECPKG_FLAG_STREAMSupports stream semantics- See Also:
 
- 
SECPKG_FLAG_NEGOTIABLEstatic final int SECPKG_FLAG_NEGOTIABLECan be used by the negotiate package- See Also:
 
- 
SECPKG_FLAG_GSS_COMPATIBLEstatic final int SECPKG_FLAG_GSS_COMPATIBLEGSS Compatibility Available- See Also:
 
- 
SECPKG_FLAG_LOGONstatic final int SECPKG_FLAG_LOGONSupports common LsaLogonUser- See Also:
 
- 
SECPKG_FLAG_ASCII_BUFFERSstatic final int SECPKG_FLAG_ASCII_BUFFERSToken Buffers are in ASCII- See Also:
 
- 
SECPKG_FLAG_FRAGMENTstatic final int SECPKG_FLAG_FRAGMENTPackage can fragment to fit- See Also:
 
- 
SECPKG_FLAG_MUTUAL_AUTHstatic final int SECPKG_FLAG_MUTUAL_AUTHPackage can perform mutual authentication- See Also:
 
- 
SECPKG_FLAG_DELEGATIONstatic final int SECPKG_FLAG_DELEGATIONPackage can delegate- See Also:
 
- 
SECPKG_FLAG_RESTRICTED_TOKENSstatic final int SECPKG_FLAG_RESTRICTED_TOKENSSupports callers with restricted tokens.- See Also:
 
- 
SECPKG_FLAG_NEGO_EXTENDERstatic final int SECPKG_FLAG_NEGO_EXTENDERThe security package extends the Microsoft Negotiate security package.- See Also:
 
- 
SECPKG_FLAG_NEGOTIABLE2static final int SECPKG_FLAG_NEGOTIABLE2This package is negotiated by the package of type SECPKG_FLAG_NEGO_EXTENDER.- See Also:
 
- 
SECPKG_FLAG_APPCONTAINER_PASSTHROUGHstatic final int SECPKG_FLAG_APPCONTAINER_PASSTHROUGHThis package receives all calls from app container apps.- See Also:
 
- 
SECPKG_FLAG_APPCONTAINER_CHECKSstatic final int SECPKG_FLAG_APPCONTAINER_CHECKSThis package receives calls from app container apps if one of the following checks succeeds.- Caller has default credentials capability.
- The target is a proxy server.
- The caller has supplied credentials.
 - See Also:
 
- 
SECPKG_CRED_ATTR_NAMESstatic final int SECPKG_CRED_ATTR_NAMESReturns the name of a credential in a pbuffer of typeSspi.SecPkgCredentials_Names.- See Also:
 
- 
SECQOP_WRAP_NO_ENCRYPTstatic final int SECQOP_WRAP_NO_ENCRYPTProduce a header or trailer but do not encrypt the message.- See Also:
 
- 
SECQOP_WRAP_OOB_DATAstatic final int SECQOP_WRAP_OOB_DATASend an Schannel alert message. In this case, the pMessage parameter must contain a standard two-byte SSL/TLS event code. This value is supported only by the Schannel SSP.- See Also:
 
- 
SEC_WINNT_AUTH_IDENTITY_ANSIstatic final int SEC_WINNT_AUTH_IDENTITY_ANSIStrings in structureSspi.SEC_WINNT_AUTH_IDENTITYare ANSI- See Also:
 
- 
SEC_WINNT_AUTH_IDENTITY_UNICODEstatic final int SEC_WINNT_AUTH_IDENTITY_UNICODEString in structureSspi.SEC_WINNT_AUTH_IDENTITYare UNICODE- See Also:
 
 
-