Top Description Inners Fields Constructors Methods
com.ongres.scram.common.message

public Class ServerFinalMessage

extends Object
implements StringWritable
Class Inheritance
All Implemented Interfaces
com.ongres.scram.common.util.StringWritable
Static Imports
com.ongres.scram.common.util.Preconditions.checkNotEmpty, .Preconditions.checkNotNull

Constructs and parses server-final-messages. Formal syntax is: 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" / server-error-value-ext ; Unrecognized errors should be treated as "other-error". ; In order to prevent information disclosure, the server ; may substitute the real reason with "other-error". server-error-value-ext = value ; Additional error reasons added by extensions ; to this document. verifier = "v=" base64 ;; base-64 encoded ServerSignature. server-final-errorMessage = (server-error / verifier) ["," extensions] Note that extensions are not supported (and, consequently, error message extensions).
See Also
[RFC5802] Section 7

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
ServerFinalMessage.Error

Possible error messages sent on a server-final-message.

Field Summary

Modifier and TypeField and Description
private final ServerFinalMessage.Error
private final byte[]

Constructor Summary

AccessConstructor and Description
public
ServerFinalMessage(byte[]
The bytes of the computed signature
verifier
)

Constructs a server-final-message with no errors, and the provided server verifier

public
ServerFinalMessage(ServerFinalMessage.Error
The error
error
)

Constructs a server-final-message which represents a SCRAM error.

Method Summary

Modifier and TypeMethod and Description
public ServerFinalMessage.Error
public byte[]
public boolean

Returns:

True if it contains an error, false if it contains a verifier
isError
()

Whether this server-final-message contains an error

public static ServerFinalMessage

Returns:

A constructed server-final-message instance
parseFrom
(String
The message
serverFinalMessage
)

Parses a server-final-message from a String.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public StringBuffer
writeTo(StringBuffer
Where to write the data.
sb
)

Implements com.ongres.scram.common.util.StringWritable.writeTo.

Write the class information to the given StringBuffer.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

errorback to summary
private final ServerFinalMessage.Error error
verifierback to summary
private final byte[] verifier

Constructor Detail

ServerFinalMessageback to summary
public ServerFinalMessage(byte[] verifier) throws IllegalArgumentException

Constructs a server-final-message with no errors, and the provided server verifier

Parameters
verifier:byte[]

The bytes of the computed signature

Exceptions
IllegalArgumentException:
If the verifier is null
ServerFinalMessageback to summary
public ServerFinalMessage(ServerFinalMessage.Error error) throws IllegalArgumentException

Constructs a server-final-message which represents a SCRAM error.

Parameters
error:ServerFinalMessage.Error

The error

Exceptions
IllegalArgumentException:
If the error is null

Method Detail

getErrorback to summary
public ServerFinalMessage.Error getError()
getVerifierback to summary
public byte[] getVerifier()
Annotations
@SuppressFBWarnings:EI_EXPOSE_REP
isErrorback to summary
public boolean isError()

Whether this server-final-message contains an error

Returns:boolean

True if it contains an error, false if it contains a verifier

parseFromback to summary
public static ServerFinalMessage parseFrom(String serverFinalMessage) throws ScramParseException, IllegalArgumentException

Parses a server-final-message from a String.

Parameters
serverFinalMessage:String

The message

Returns:ServerFinalMessage

A constructed server-final-message instance

Exceptions
ScramParseException:
If the argument is not a valid server-final-message
IllegalArgumentException:
If the message is null or empty
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override
writeToback to summary
public StringBuffer writeTo(StringBuffer sb)

Implements com.ongres.scram.common.util.StringWritable.writeTo.

Doc from com.ongres.scram.common.util.StringWritable.writeTo.

Write the class information to the given StringBuffer.

Parameters
sb:StringBuffer

Where to write the data.

Returns:StringBuffer

The same StringBuffer.

Annotations
@Override
com.ongres.scram.common.message back to summary

public final Enum ServerFinalMessage.Error

extends Enum<ServerFinalMessage.Error>
Class Inheritance

Possible error messages sent on a server-final-message.

Field Summary

Modifier and TypeField and Description
private static final Map<String, ServerFinalMessage.Error>
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
private final String
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error
public static final ServerFinalMessage.Error

Constructor Summary

AccessConstructor and Description
private
Error(String errorMessage)

Method Summary

Modifier and TypeMethod and Description
public static ServerFinalMessage.Error
getByErrorMessage(String errorMessage)

public String
public static ServerFinalMessage.Error
public static ServerFinalMessage.Error[]
private static Map<String, ServerFinalMessage.Error>
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BY_NAME_MAPPINGback to summary
private static final Map<String, ServerFinalMessage.Error> BY_NAME_MAPPING
CHANNEL_BINDING_NOT_SUPPORTEDback to summary
public static final ServerFinalMessage.Error CHANNEL_BINDING_NOT_SUPPORTED
CHANNEL_BINDINGS_DONT_MATCHback to summary
public static final ServerFinalMessage.Error CHANNEL_BINDINGS_DONT_MATCH
errorMessageback to summary
private final String errorMessage
EXTENSIONS_NOT_SUPPORTEDback to summary
public static final ServerFinalMessage.Error EXTENSIONS_NOT_SUPPORTED
INVALID_ENCODINGback to summary
public static final ServerFinalMessage.Error INVALID_ENCODING
INVALID_PROOFback to summary
public static final ServerFinalMessage.Error INVALID_PROOF
INVALID_USERNAME_ENCODINGback to summary
public static final ServerFinalMessage.Error INVALID_USERNAME_ENCODING
NO_RESOURCESback to summary
public static final ServerFinalMessage.Error NO_RESOURCES
OTHER_ERRORback to summary
public static final ServerFinalMessage.Error OTHER_ERROR
SERVER_DOES_SUPPORT_CHANNEL_BINDINGback to summary
public static final ServerFinalMessage.Error SERVER_DOES_SUPPORT_CHANNEL_BINDING
UNKNOWN_USERback to summary
public static final ServerFinalMessage.Error UNKNOWN_USER
UNSUPPORTED_CHANNEL_BINDING_TYPEback to summary
public static final ServerFinalMessage.Error UNSUPPORTED_CHANNEL_BINDING_TYPE

Constructor Detail

Errorback to summary
private Error(String errorMessage)

Method Detail

getByErrorMessageback to summary
public static ServerFinalMessage.Error getByErrorMessage(String errorMessage) throws IllegalArgumentException
getErrorMessageback to summary
public String getErrorMessage()
valueOfback to summary
public static ServerFinalMessage.Error valueOf(String name)
valuesback to summary
public static ServerFinalMessage.Error[] values()
valuesAsMapback to summary
private static Map<String, ServerFinalMessage.Error> valuesAsMap()