public class ScramSession
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
ScramSession.ClientFinalProcessor
Processor that allows to generate the client-final-message,
as well as process the server-final-message and verify server's signature.
|
class |
ScramSession.ServerFirstProcessor
Process a received server-first-message.
|
Modifier and Type | Field and Description |
---|---|
private ClientFirstMessage |
clientFirstMessage |
private java.lang.String |
nonce |
private ScramMechanism |
scramMechanism |
private java.lang.String |
serverFirstMessageString |
private StringPreparation |
stringPreparation |
private java.lang.String |
user |
Constructor and Description |
---|
ScramSession(ScramMechanism scramMechanism,
StringPreparation stringPreparation,
java.lang.String user,
java.lang.String nonce)
Constructs a SCRAM client, to perform an authentication for a given user.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
clientFirstMessage()
Returns the text representation of a SCRAM client-first-message, with no channel binding nor authzid.
|
java.lang.String |
clientFirstMessage(Gs2CbindFlag gs2CbindFlag,
java.lang.String cbindName,
java.lang.String authzid)
Returns the text representation of a SCRAM client-first-message, with the GSS-API header values indicated.
|
ScramSession.ServerFirstProcessor |
receiveServerFirstMessage(java.lang.String serverFirstMessage)
Constructs a handler for the server-first-message, from its String representation.
|
private java.lang.String |
setAndReturnClientFirstMessage(ClientFirstMessage clientFirstMessage) |
private final ScramMechanism scramMechanism
private final StringPreparation stringPreparation
private final java.lang.String user
private final java.lang.String nonce
private ClientFirstMessage clientFirstMessage
private java.lang.String serverFirstMessageString
public ScramSession(ScramMechanism scramMechanism, StringPreparation stringPreparation, java.lang.String user, java.lang.String nonce)
ScramClient
is used instead.scramMechanism
- The SCRAM mechanism that will be using this clientstringPreparation
- user
- nonce
- private java.lang.String setAndReturnClientFirstMessage(ClientFirstMessage clientFirstMessage)
public java.lang.String clientFirstMessage(Gs2CbindFlag gs2CbindFlag, java.lang.String cbindName, java.lang.String authzid)
gs2CbindFlag
- The channel binding flagcbindName
- The channel binding algorithm name, if channel binding is supported, or nullauthzid
- The optionalpublic java.lang.String clientFirstMessage()
public ScramSession.ServerFirstProcessor receiveServerFirstMessage(java.lang.String serverFirstMessage) throws ScramParseException, java.lang.IllegalArgumentException
serverFirstMessage
- The messageScramParseException
- If the message is not a valid server-first-messagejava.lang.IllegalArgumentException
- If the message is null or empty