Skip to main content

SimpleSignature

open class SimpleSignature : Disposable, AutoCloseable, SimpleSignatureInterface

A basic signature

This enumeration defines the set of simple or basic signature schemes supported by IOTA. Most signature schemes supported by IOTA end up comprising of a at least one simple signature scheme.

BCS

The BCS serialized form for this type is defined by the following ABNF:

simple-signature = bytes ; where the contents of the bytes are defined by
; <simple-signature-body>
simple-signature-body = (ed25519-flag ed25519-signature ed25519-public-key) /
(secp256k1-flag secp256k1-signature secp256k1-public-key) /
(secp256r1-flag secp256r1-signature secp256r1-public-key)

Note: Due to historical reasons, signatures are serialized slightly different from the majority of the types in IOTA. In particular if a signature is ever embedded in another structure it generally is serialized as bytes meaning it has a length prefix that defines the length of the completely serialized signature.

Functions

NameSummary
close@Synchronized
open override fun close()
destroyopen override fun destroy()
ed25519PubKeyopen override fun ed25519PubKey(): Ed25519PublicKey
ed25519PubKeyOptopen override fun ed25519PubKeyOpt(): Ed25519PublicKey?
ed25519Sigopen override fun ed25519Sig(): Ed25519Signature
ed25519SigOptopen override fun ed25519SigOpt(): Ed25519Signature?
equalsopen operator override fun equals(other: Any?): Boolean
hashCodeopen override fun hashCode(): Int
isEd25519open override fun isEd25519(): Boolean
isSecp256k1open override fun isSecp256k1(): Boolean
isSecp256r1open override fun isSecp256r1(): Boolean
schemeopen override fun scheme(): SignatureScheme
secp256k1PubKeyopen override fun secp256k1PubKey(): Secp256k1PublicKey
secp256k1PubKeyOptopen override fun secp256k1PubKeyOpt(): Secp256k1PublicKey?
secp256k1Sigopen override fun secp256k1Sig(): Secp256k1Signature
secp256k1SigOptopen override fun secp256k1SigOpt(): Secp256k1Signature?
secp256r1PubKeyopen override fun secp256r1PubKey(): Secp256r1PublicKey
secp256r1PubKeyOptopen override fun secp256r1PubKeyOpt(): Secp256r1PublicKey?
secp256r1Sigopen override fun secp256r1Sig(): Secp256r1Signature
secp256r1SigOptopen override fun secp256r1SigOpt(): Secp256r1Signature?
signatureBytesopen override fun signatureBytes(): ByteArray
The raw signature bytes, without the scheme flag or the public key.
toBase64open override fun toBase64(): String
Base64-encode this signature as its `flag
toBytesopen override fun toBytes(): ByteArray
toPublicKeyopen override fun toPublicKey(): PublicKey
The public key embedded in this signature.
toStringopen override fun toString(): String

Companion object functions

NameSummary
fromBase64fun fromBase64(base64: String): SimpleSignature
Decode a signature from the Base64 form produced by to_base64, i.e. base64 over the `flag
newEd25519fun newEd25519(signature: Ed25519Signature, publicKey: Ed25519PublicKey): SimpleSignature
newSecp256k1fun newSecp256k1(signature: Secp256k1Signature, publicKey: Secp256k1PublicKey): SimpleSignature
newSecp256r1fun newSecp256r1(signature: Secp256r1Signature, publicKey: Secp256r1PublicKey): SimpleSignature