org.apache.http.impl.auth
Class CredSspScheme

java.lang.Object
  extended by org.apache.http.impl.auth.AuthSchemeBase
      extended by org.apache.http.impl.auth.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.


Field Summary
static String SCHEME_NAME
           
 
Fields inherited from class org.apache.http.impl.auth.AuthSchemeBase
challengeState
 
Constructor Summary
CredSspScheme()
           
 
Method Summary
 Header authenticate(Credentials credentials, HttpRequest request)
          Deprecated. 
 Header authenticate(Credentials credentials, HttpRequest request, HttpContext context)
          Produces an authorization string for the given set of Credentials.
 String getParameter(String name)
          Returns authentication parameter with the given name, if available.
 String getRealm()
          Returns authentication realm.
 String getSchemeName()
          Returns textual designation of the given authentication scheme.
 boolean isComplete()
          Authentication process may involve a series of challenge-response exchanges.
 boolean isConnectionBased()
          Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basis
protected  void parseChallenge(CharArrayBuffer buffer, int beginIndex, int endIndex)
           
 
Methods inherited from class org.apache.http.impl.auth.AuthSchemeBase
getChallengeState, isProxy, processChallenge, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SCHEME_NAME

public static final String SCHEME_NAME
See Also:
Constant Field Values
Constructor Detail

CredSspScheme

public CredSspScheme()
Method Detail

getSchemeName

public 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 String getParameter(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 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.

parseChallenge

protected void parseChallenge(CharArrayBuffer buffer,
                              int beginIndex,
                              int endIndex)
                       throws MalformedChallengeException
Specified by:
parseChallenge in class AuthSchemeBase
Throws:
MalformedChallengeException

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

authenticate

public Header authenticate(Credentials credentials,
                           HttpRequest request,
                           HttpContext context)
                    throws AuthenticationException
Description copied from interface: ContextAwareAuthScheme
Produces an authorization string for the given set of Credentials.

Specified by:
authenticate in interface ContextAwareAuthScheme
Overrides:
authenticate in class AuthSchemeBase
Parameters:
credentials - The set of credentials to be used for athentication
request - The request being authenticated
context - HTTP context
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.


Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.