Package org.jivesoftware.smack.sasl.core
Class ScramPlusMechanism
- java.lang.Object
-
- org.jivesoftware.smack.sasl.SASLMechanism
-
- org.jivesoftware.smack.sasl.core.ScramMechanism
-
- org.jivesoftware.smack.sasl.core.ScramPlusMechanism
-
- All Implemented Interfaces:
Comparable<SASLMechanism>
- Direct Known Subclasses:
ScramSha1PlusMechanism
public abstract class ScramPlusMechanism extends ScramMechanism
SCRAM-X-PLUS implementation. Due limitations of the Java API, this mechanism only supports the 'tls-server-end-point' channel binding type. But on the other hand, the other relevant channel binding type 'tls-unique' has some flaws (see 3SHAKE, RFC 7627).
-
-
Field Summary
-
Fields inherited from class org.jivesoftware.smack.sasl.SASLMechanism
authenticationId, authorizationId, connection, connectionConfiguration, CRAMMD5, DIGESTMD5, EXTERNAL, GSSAPI, host, password, PLAIN, serviceName, sslSession
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ScramPlusMechanism(ScramHmac scramHmac)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
getChannelBindingData()
protected String
getGs2CbindFlag()
Get the SCRAM GSS-API Channel Binding Flag value.String
getName()
Returns the common name of the SASL mechanism.-
Methods inherited from class org.jivesoftware.smack.sasl.core.ScramMechanism
authenticateInternal, authzidSupported, checkIfSuccessfulOrThrow, evaluateChallenge, getAuthenticationText
-
Methods inherited from class org.jivesoftware.smack.sasl.SASLMechanism
afterFinalSaslChallenge, authenticate, authenticate, authenticateInternal, challengeReceived, compareTo, getPriority, instanceForAuthentication, isAuthenticationSuccessful, isFinished, newInstance, requiresPassword, saslPrep, setException, throwExceptionIfRequired, toBytes, toString
-
-
-
-
Constructor Detail
-
ScramPlusMechanism
protected ScramPlusMechanism(ScramHmac scramHmac)
-
-
Method Detail
-
getName
public String getName()
Description copied from class:SASLMechanism
Returns the common name of the SASL mechanism. E.g.: PLAIN, DIGEST-MD5 or GSSAPI.- Overrides:
getName
in classScramMechanism
- Returns:
- the common name of the SASL mechanism.
-
getGs2CbindFlag
protected String getGs2CbindFlag()
Description copied from class:ScramMechanism
Get the SCRAM GSS-API Channel Binding Flag value.- Overrides:
getGs2CbindFlag
in classScramMechanism
- Returns:
- the gs2-cbind-flag value.
- See Also:
- RFC 5802 ยง 6.
-
getChannelBindingData
protected byte[] getChannelBindingData() throws SmackException.SmackSaslException
- Overrides:
getChannelBindingData
in classScramMechanism
- Returns:
- the Channel Binding data.
- Throws:
SmackException.SmackSaslException
- if a SASL specific error occurred.
-
-