Interface SignableMessage

All Known Subinterfaces:
AprsSignableMessage
All Known Implementing Classes:
MessageMessage

public interface SignableMessage
This interface tags messages that can be cryptographically signed (HMAC) to provide authentication and data integrity checking of those messages. Note this does not imply actual encryption of the data content, as that would be in violation of national and international laws and regulations for the Amateur Radio Service.
Author:
Andrew Pavlin, KA2DDO
  • Method Details

    • getSignatureState

      SignableMessage.SignatureState getSignatureState()
      Report the status of the signature of this message.
      Returns:
      signature state of this message
    • setKeyAlias

      void setKeyAlias(String alias)
      Set the alias for the key that should be used to sign this message at transmission time.
      Parameters:
      alias - String name that should match a secret key in the key manager
    • getKeyAlias

      String getKeyAlias()
      Get the alias for the key that should be used to sign this message at transmission time.
      Returns:
      String name of key alias, matching a secret key in the key manager, or null if message should not be signed
    • getTimestamp

      long getTimestamp()
      Get the timestamp associated with this Message in milliseconds since 1 Jan 1970 UTC.
      Returns:
      time message was received or the timestamp in the message, or -1 if this is a permanent (non-timing-out message)
    • getOriginatingCallsign

      String getOriginatingCallsign()
      Get the callsign of the station that originated this message (not of any Tx-Igate relay).
      Returns:
      String callsign
    • writeToSigningBuf

      void writeToSigningBuf(DataOutput dos, PrintWriter pw)
      Write the appropriate part of the body of this message to the signing buffer.
      Parameters:
      dos - DataOutput that will accept binary writes of the message data
      pw - PrintWriter that will accept character writes of the message data