Class ScramSHA512Mechanism
java.lang.Object
org.apache.qpid.protonj2.engine.sasl.client.AbstractMechanism
org.apache.qpid.protonj2.engine.sasl.client.ScramSHA512Mechanism
- All Implemented Interfaces:
Mechanism
Implements the SASL Scram SHA 256 authentication Mechanism.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final Symbol
A singleton instance of the symbolic mechanism name.static final String
Fields inherited from class org.apache.qpid.protonj2.engine.sasl.client.AbstractMechanism
EMPTY
-
Constructor Summary
ConstructorDescriptionCreates an instance of theScramSHA512Mechanism
with a generated client Nonce. -
Method Summary
Modifier and TypeMethodDescriptiongetChallengeResponse
(SaslCredentialsProvider credentials, ProtonBuffer challenge) Create a response based on a given challenge from the remote peer.getInitialResponse
(SaslCredentialsProvider credentials) Create an initial response based on selected mechanism.getName()
boolean
isApplicable
(SaslCredentialsProvider credentials) Allows the Mechanism to determine if it is a valid choice based on the configured credentials at the time of selection.void
Verifies that the SASL exchange has completed successfully.Methods inherited from class org.apache.qpid.protonj2.engine.sasl.client.AbstractMechanism
isEnabledByDefault, toString
-
Field Details
-
SHA_512
- See Also:
-
HMAC_SHA_512
- See Also:
-
SCRAM_SHA_512
A singleton instance of the symbolic mechanism name.
-
-
Constructor Details
-
ScramSHA512Mechanism
public ScramSHA512Mechanism()Creates an instance of theScramSHA512Mechanism
with a generated client Nonce.
-
-
Method Details
-
getName
- Returns:
- the well known name of this SASL mechanism.
-
isApplicable
Description copied from interface:Mechanism
Allows the Mechanism to determine if it is a valid choice based on the configured credentials at the time of selection.- Parameters:
credentials
- the login credentials available at the time of mechanism selection.- Returns:
- true if the mechanism can be used with the provided credentials
-
getInitialResponse
Description copied from interface:Mechanism
Create an initial response based on selected mechanism. May be null if there is no initial response.- Specified by:
getInitialResponse
in interfaceMechanism
- Overrides:
getInitialResponse
in classAbstractMechanism
- Parameters:
credentials
- The credentials that are supplied for this SASL negotiation.- Returns:
- the initial response, or null if there isn't one.
- Throws:
SaslException
- if an error occurs generating the initial response.
-
getChallengeResponse
public ProtonBuffer getChallengeResponse(SaslCredentialsProvider credentials, ProtonBuffer challenge) throws SaslException Description copied from interface:Mechanism
Create a response based on a given challenge from the remote peer.- Specified by:
getChallengeResponse
in interfaceMechanism
- Overrides:
getChallengeResponse
in classAbstractMechanism
- Parameters:
credentials
- The credentials that are supplied for this SASL negotiation.challenge
- The challenge that this Mechanism should response to.- Returns:
- the response that answers the given challenge.
- Throws:
SaslException
- if an error occurs generating the challenge response.
-
verifyCompletion
Description copied from interface:Mechanism
Verifies that the SASL exchange has completed successfully. This is an opportunity for the mechanism to ensure that all mandatory steps have been completed successfully and to cleanup and resources that are held by this Mechanism.- Specified by:
verifyCompletion
in interfaceMechanism
- Overrides:
verifyCompletion
in classAbstractMechanism
- Throws:
SaslException
- if the outcome of the SASL exchange is not valid for this Mechanism
-