Class ASignature

All Implemented Interfaces:
IValidated, IWriteable
Direct Known Subclasses:
Ed25519Signature

public abstract class ASignature extends ACell
Class representing a cryptographic signature
  • Constructor Details

    • ASignature

      public ASignature()
  • Method Details

    • verify

      public abstract boolean verify(ABlob message, AccountKey publicKey)
      Checks if the signature is valid for a given message hash
      Parameters:
      message - Message to verify
      publicKey - Public key of signer
      Returns:
      True if signature is valid, false otherwise
    • read

      public static ASignature read(ByteBuffer bb) throws BadFormatException
      Reads a Signature from the given ByteBuffer. Assumes tag byte already read. Uses Ed25519
      Parameters:
      bb - ByteBuffer to read from
      Returns:
      Signature instance
      Throws:
      BadFormatException - If encoding is invalid
    • toHexString

      public abstract String toHexString()
      Gets the content of this Signature as a hex string
      Returns:
      Hex String representation of Signature
    • fromHex

      public static ASignature fromHex(String hex)
      Construct a Signature from a hex string Uses Ed25519
      Parameters:
      hex - Hex String to read from
      Returns:
      Signature instance
    • fromBlob

      public static ASignature fromBlob(Blob sigData)
      Construct a Signature from a Blob Uses Ed25519
      Parameters:
      sigData - Blob of data representing raw signature
      Returns:
      Signature instance
    • isEmbedded

      public boolean isEmbedded()
      Description copied from class: ACell
      Determines if this Cell Represents an embedded object. Embedded objects are encoded directly into the encoding of the containing Cell (avoiding the need for a hashed reference). Subclasses should override this if they have a cheap O(1) way to determine if they are embedded or otherwise.
      Overrides:
      isEmbedded in class ACell
      Returns:
      true if Cell is embedded, false otherwise
    • getTag

      public byte getTag()
      Description copied from class: ACell
      Gets the tag byte for this cell. The tag byte is always written as the first byte of the Cell's Encoding
      Specified by:
      getTag in class ACell
      Returns:
      Tag byte for this Cell
    • getSignatureBlob

      protected abstract ABlob getSignatureBlob()
      Gets a Blob containing the raw bytes of this digital signature
      Returns:
      Blob containing signature bytes