Class ScramServerFunctionalityImpl
- java.lang.Object
-
- org.apache.activemq.artemis.protocol.amqp.sasl.scram.ScramServerFunctionalityImpl
-
- All Implemented Interfaces:
ScramServerFunctionality
public class ScramServerFunctionalityImpl extends Object implements ScramServerFunctionality
Provides building blocks for creating SCRAM authentication server
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.activemq.artemis.protocol.amqp.sasl.scram.ScramServerFunctionality
ScramServerFunctionality.State
-
-
Constructor Summary
Constructors Constructor Description ScramServerFunctionalityImpl(String digestName, String hmacName)Creates new ScramServerFunctionalityImplScramServerFunctionalityImpl(String digestName, String hmacName, String serverPartNonce)/** Creates new ScramServerFunctionalityImpl
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MessageDigestgetDigest()MacgetHmac()ScramServerFunctionality.StategetState()Gets the state of the authentication procedureStringhandleClientFirstMessage(String message)Handles client's first messagebooleanisEnded()Checks if authentication is completed, either successfully or not.booleanisSuccessful()Checks if authentication is completed, either successfully or not.StringprepareFinalMessage(String clientFinalMessage)Prepares server's final messageStringprepareFinalMessageUnchecked(String clientFinalMessage)StringprepareFirstMessage(UserData userData)Prepares server's first message
-
-
-
Constructor Detail
-
ScramServerFunctionalityImpl
public ScramServerFunctionalityImpl(String digestName, String hmacName) throws NoSuchAlgorithmException
Creates new ScramServerFunctionalityImpl- Parameters:
digestName- Digest to be usedhmacName- HMAC to be used- Throws:
NoSuchAlgorithmException
-
ScramServerFunctionalityImpl
public ScramServerFunctionalityImpl(String digestName, String hmacName, String serverPartNonce) throws NoSuchAlgorithmException
/** Creates new ScramServerFunctionalityImpl- Parameters:
digestName- Digest to be usedhmacName- HMAC to be usedserverPartNonce- Server's part of the nonce- Throws:
NoSuchAlgorithmException
-
-
Method Detail
-
handleClientFirstMessage
public String handleClientFirstMessage(String message) throws ScramException
Handles client's first message- Specified by:
handleClientFirstMessagein interfaceScramServerFunctionality- Parameters:
message- Client's first message- Returns:
- username extracted from the client message
- Throws:
ScramException
-
prepareFirstMessage
public String prepareFirstMessage(UserData userData)
Description copied from interface:ScramServerFunctionalityPrepares server's first message- Specified by:
prepareFirstMessagein interfaceScramServerFunctionality- Parameters:
userData- user data needed to prepare the message- Returns:
- Server's first message
-
prepareFinalMessage
public String prepareFinalMessage(String clientFinalMessage) throws ScramException
Description copied from interface:ScramServerFunctionalityPrepares server's final message- Specified by:
prepareFinalMessagein interfaceScramServerFunctionality- Parameters:
clientFinalMessage- Client's final message- Returns:
- Server's final message
- Throws:
ScramException
-
prepareFinalMessageUnchecked
public String prepareFinalMessageUnchecked(String clientFinalMessage) throws ScramException
- Throws:
ScramException
-
isSuccessful
public boolean isSuccessful()
Description copied from interface:ScramServerFunctionalityChecks if authentication is completed, either successfully or not. Authentication is completed ifScramServerFunctionality.getState()returns ENDED.- Specified by:
isSuccessfulin interfaceScramServerFunctionality- Returns:
- true if authentication has ended
-
isEnded
public boolean isEnded()
Description copied from interface:ScramServerFunctionalityChecks if authentication is completed, either successfully or not. Authentication is completed ifScramServerFunctionality.getState()returns ENDED.- Specified by:
isEndedin interfaceScramServerFunctionality- Returns:
- true if authentication has ended
-
getState
public ScramServerFunctionality.State getState()
Description copied from interface:ScramServerFunctionalityGets the state of the authentication procedure- Specified by:
getStatein interfaceScramServerFunctionality- Returns:
- Current state
-
getDigest
public MessageDigest getDigest()
- Specified by:
getDigestin interfaceScramServerFunctionality
-
getHmac
public Mac getHmac()
- Specified by:
getHmacin interfaceScramServerFunctionality
-
-