Class CredSspScheme

  • All Implemented Interfaces:
    AuthScheme, ContextAwareAuthScheme

    public class CredSspScheme
    extends AuthSchemeBase

    Client implementation of the CredSSP protocol specified in [MS-CSSP].

    Note: This is implementation is NOT GSS based. It should be. But there is no Java NTLM implementation as GSS module. Maybe the NTLMEngine can be converted to GSS and then this can be also switched to GSS. In fact it only works in CredSSP+NTLM case.

    Based on [MS-CSSP]: Credential Security Support Provider (CredSSP) Protocol (Revision 13.0, 7/14/2016). The implementation was inspired by Python CredSSP and NTLM implementation by Jordan Borean.

    • Constructor Detail

      • CredSspScheme

        public CredSspScheme()
    • Method Detail

      • getSchemeName

        public java.lang.String getSchemeName()
        Description copied from interface: AuthScheme
        Returns textual designation of the given authentication scheme.
        Returns:
        the name of the given authentication scheme
      • getParameter

        public java.lang.String getParameter​(java.lang.String name)
        Description copied from interface: AuthScheme
        Returns authentication parameter with the given name, if available.
        Parameters:
        name - The name of the parameter to be returned
        Returns:
        the parameter with the given name
      • getRealm

        public java.lang.String getRealm()
        Description copied from interface: AuthScheme
        Returns authentication realm. If the concept of an authentication realm is not applicable to the given authentication scheme, returns null.
        Returns:
        the authentication realm
      • isConnectionBased

        public boolean isConnectionBased()
        Description copied from interface: AuthScheme
        Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basis
        Returns:
        true if the scheme is connection based, false if the scheme is request based.
      • authenticate

        @Deprecated
        public Header authenticate​(Credentials credentials,
                                   HttpRequest request)
                            throws AuthenticationException
        Deprecated.
        Description copied from interface: AuthScheme
        Produces an authorization string for the given set of Credentials.
        Parameters:
        credentials - The set of credentials to be used for athentication
        request - The request being authenticated
        Returns:
        the authorization string
        Throws:
        AuthenticationException - if authorization string cannot be generated due to an authentication failure
      • isComplete

        public boolean isComplete()
        Description copied from interface: AuthScheme
        Authentication process may involve a series of challenge-response exchanges. This method tests if the authorization process has been completed, either successfully or unsuccessfully, that is, all the required authorization challenges have been processed in their entirety.
        Returns:
        true if the authentication process has been completed, false otherwise.