@aptos-labs/ts-sdk - v7.1.0
    Preparing search index...

    Class Secp256r1PublicKey

    Represents a Secp256r1 ECDSA public key.

    Hierarchy (View Summary)

    Index

    Implementation - BCS

    • Converts the BCS-serialized bytes of a value into a Hex instance. This function provides a Hex representation of the BCS-serialized data for easier handling and manipulation.

      Returns Hex

      A Hex instance with the BCS-serialized bytes loaded into its underlying Uint8Array.

    Implementation - Serialization

    • Create a new PublicKey instance from a HexInput, which can be a string or Uint8Array. This constructor validates the length of the provided public key data.

      Parameters

      • hexInput: HexInput

        A HexInput (string or Uint8Array) representing the public key data.

      Returns Secp256r1PublicKey

      Error if the length of the public key data is not equal to Secp256r1PublicKey.LENGTH or COMPRESSED_LENGTH.

    • Generates an authentication key from the public key using the Secp256r1 scheme. This function is essential for creating a secure authentication key that can be used for further cryptographic operations.

      Returns AuthenticationKey

      The generated authentication key.

    • Serializes the data into a byte array using the provided serializer. This function is essential for converting data into a format suitable for transmission or storage.

      Parameters

      • serializer: Serializer

        The serializer instance used to convert the data.

      Returns void

    • Verifies a signature against the exact bytes of message. This is the unambiguous form — the input is interpreted as raw bytes regardless of what they encode. Pair with Secp256r1PrivateKey.signBytes.

      The message is SHA3-256 hashed before verification (matching the Aptos-side Secp256r1 signing convention), and the signature is required to be in canonical low-S form for malleability resistance.

      Parameters

      • args: { message: Uint8Array; signature: Signature }

        The arguments for verification.

        • message: Uint8Array

          The exact bytes that were signed.

        • signature: Signature

          The signature to verify.

      Returns boolean

    • Verifies a Secp256r1 signature against the public key.

      Parameters

      • args: { message: HexInput; signature: Signature }

        The arguments for verifying the signature.

        • message: HexInput

          The message that was signed.

        • signature: Signature

          The signature to verify against the public key.

      Returns boolean

      The polymorphic message: HexInput input is ambiguous — a bare even-length string of hex characters (e.g., "cafe") is verified against the 2 bytes [0xCA, 0xFE], not 4 UTF-8 text bytes. Use verifyBytes for Uint8Array input or verifyText for string input; both are unambiguous. See convertSigningMessage for the full legacy rule.

    • Note: Secp256r1Signatures can be verified synchronously.

      Verifies the provided signature against the given message. This function helps ensure the integrity and authenticity of the message by confirming that the signature is valid.

      Parameters

      Returns Promise<boolean>

      A boolean indicating whether the signature is valid for the given message.

    • Verifies a signature against the UTF-8 encoding of message. The input is always treated as text — there is no hex/text heuristic. Pair with Secp256r1PrivateKey.signText.

      Parameters

      • args: { message: string; signature: Signature }

        The arguments for verification.

        • message: string

          The text that was signed.

        • signature: Signature

          The signature to verify.

      Returns boolean

    • Determines if the provided public key is a valid instance of a Secp256r1 public key. This function checks for the presence of a "key" property and validates the length of the key data.

      Parameters

      • publicKey: PublicKey

        The public key to validate.

      Returns publicKey is Secp256r1PublicKey

      A boolean indicating whether the public key is a valid Secp256r1 public key.

    Methods

    Properties

    keyType: string = "secp256r1"
    COMPRESSED_LENGTH: number = 33
    LENGTH: number = 65

    The length of the Secp256r1 public key in bytes.