Class Secp256k1KeyPairService

    • Constructor Detail

      • Secp256k1KeyPairService

        public Secp256k1KeyPairService()
    • Method Detail

      • generateSeed

        public String generateSeed​(UnsignedByteArray entropy)
        Description copied from interface: KeyPairService
        Generate a 16 byte seed, which can be used to derive a private key, from a non-encoded value.
        Parameters:
        entropy - An UnsignedByteArray containing the bytes of entropy to encode into a seed.
        Returns:
        A String containing the Base58Check encoded seed value.
      • deriveKeyPair

        public KeyPair deriveKeyPair​(String seed)
        Description copied from interface: KeyPairService
        Derive a public/private keypair from a Base58Check encoded 16 byte seed.
        Parameters:
        seed - A Base58Check encoded String containing the seed.
        Returns:
        The KeyPair derived from the seed.
      • sign

        public String sign​(UnsignedByteArray message,
                           String privateKey)
        Description copied from interface: KeyPairService
        Sign a message using the given private key.
        Parameters:
        message - An UnsignedByteArray with an arbitrary message.
        privateKey - The hexadecimal encoded private key used to sign the transaction.
        Returns:
        The signed message, in hexadecimal form.
      • verify

        public boolean verify​(UnsignedByteArray message,
                              String signature,
                              String publicKey)
        Description copied from interface: KeyPairService
        Verify that the signature is valid, based on the message that was signed and the public key.
        Parameters:
        message - The arbitrary message that was signed with a private key.
        signature - The hexadecimal encoded String containing the signature to verify.
        publicKey - The hexadecimal encoded public key derived from the private key that was used to sign the message.
        Returns:
        true if the signature is valid, false if not.