Class ClientFinalMessage

java.lang.Object
com.ongres.scram.common.message.ClientFinalMessage
All Implemented Interfaces:
StringWritable

public class ClientFinalMessage extends Object implements StringWritable
Constructs and parses client-final-messages. Formal syntax is: client-final-message-without-proof = channel-binding "," nonce ["," extensions] client-final-message = client-final-message-without-proof "," proof Note that extensions are not supported.
See Also:
  • Field Details

    • cbind

      private final String cbind
    • nonce

      private final String nonce
    • proof

      private final byte[] proof
  • Constructor Details

    • ClientFinalMessage

      public ClientFinalMessage(Gs2Header gs2Header, byte[] cbindData, String nonce, byte[] proof)
      Constructus a client-final-message with the provided gs2Header (the same one used in the client-first-message), optionally the channel binding data, and the nonce. This method is intended to be used by SCRAM clients, and not to be constructed directly.
      Parameters:
      gs2Header - The GSS-API header
      cbindData - If using channel binding, the channel binding data
      nonce - The nonce
      proof - The bytes representing the computed client proof
  • Method Details

    • generateCBind

      private static String generateCBind(Gs2Header gs2Header, byte[] cbindData)
    • writeToWithoutProof

      private static StringBuffer writeToWithoutProof(StringBuffer sb, String cbind, String nonce)
    • writeToWithoutProof

      private static StringBuffer writeToWithoutProof(StringBuffer sb, Gs2Header gs2Header, byte[] cbindData, String nonce)
    • writeToWithoutProof

      public static StringBuffer writeToWithoutProof(Gs2Header gs2Header, byte[] cbindData, String nonce)
      Returns a StringBuffer filled in with the formatted output of a client-first-message without the proof value. This is useful for computing the auth-message, used in turn to compute the proof.
      Parameters:
      gs2Header - The GSS-API header
      cbindData - The optional channel binding data
      nonce - The nonce
      Returns:
      The String representation of the part of the message that excludes the proof
    • writeTo

      public StringBuffer writeTo(StringBuffer sb)
      Description copied from interface: StringWritable
      Write the class information to the given StringBuffer.
      Specified by:
      writeTo in interface StringWritable
      Parameters:
      sb - Where to write the data.
      Returns:
      The same StringBuffer.
    • toString

      public String toString()
      Overrides:
      toString in class Object