Package com.ongres.scram.common
Class ServerFinalMessage
java.lang.Object
com.ongres.scram.common.StringWritable
com.ongres.scram.common.AbstractScramMessage
com.ongres.scram.common.ServerFinalMessage
Constructs and parses
server-final-messages
.
server-error | "e=" server-error-value |
server-error-value | "invalid-encoding" / "extensions-not-supported" / ; unrecognized 'm' value "invalid-proof" / "channel-bindings-dont-match" / "server-does-support-channel-binding" / ; server does not support channel binding "channel-binding-not-supported" / "unsupported-channel-binding-type" / "unknown-user" / "invalid-username-encoding" / ; invalid username encoding (invalid UTF-8 or ; SASLprep failed) "no-resources" / "other-error" ; Unrecognized errors should be treated as "other-error". ; In order to prevent information disclosure, the server ; may substitute the real reason with "other-error". |
verifier | "v=" base64 ;; base-64 encoded ServerSignature. |
server-final-message | (server-error / verifier) ["," extensions] |
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionServerFinalMessage
(byte[] verifier) Constructs a server-final-message with no errors, and the provided server verifier.ServerFinalMessage
(String serverError) Constructs a server-final-message which represents a SCRAM error. -
Method Summary
Modifier and TypeMethodDescriptionGet the server-error-value from the "e=" server-final-message.byte[]
Get the verifier value from the "v=" server-final-message.boolean
isError()
Whether this server-final-message contains an error.static ServerFinalMessage
Parses a server-final-message from a String.private static String
validateServerErrorType
(String serverError) (package private) StringBuilder
writeTo
(StringBuilder sb) Write the class information to the given StringBuffer.Methods inherited from class com.ongres.scram.common.AbstractScramMessage
toString
-
Field Details
-
verifier
private final byte[] verifier -
serverError
-
-
Constructor Details
-
ServerFinalMessage
public ServerFinalMessage(byte[] verifier) Constructs a server-final-message with no errors, and the provided server verifier.- Parameters:
verifier
- The bytes of the computed signature- Throws:
IllegalArgumentException
- If the verifier is null
-
ServerFinalMessage
Constructs a server-final-message which represents a SCRAM error.- Parameters:
serverError
- The error message- Throws:
IllegalArgumentException
- If the error is null
-
-
Method Details
-
isError
public boolean isError()Whether this server-final-message contains an error.- Returns:
- True if it contains an error, false if it contains a verifier
-
getVerifier
public byte[] getVerifier()Get the verifier value from the "v=" server-final-message.- Returns:
- the
verifier
-
getServerError
Get the server-error-value from the "e=" server-final-message.- Returns:
- the
server-error-value
-
parseFrom
Parses a server-final-message from a String.- Parameters:
serverFinalMessage
- The message- Returns:
- A constructed server-final-message instance
- Throws:
ScramParseException
- If the argument is not a valid server-final-messageIllegalArgumentException
- If the message is null or empty
-
writeTo
Description copied from class:StringWritable
Write the class information to the given StringBuffer.- Specified by:
writeTo
in classStringWritable
- Parameters:
sb
- Where to write the data.- Returns:
- The same StringBuffer.
-
validateServerErrorType
-