Package org.xrpl.xrpl4j.keypairs
Class Secp256k1KeyPairService
- java.lang.Object
-
- org.xrpl.xrpl4j.keypairs.AbstractKeyPairService
-
- org.xrpl.xrpl4j.keypairs.Secp256k1KeyPairService
-
- All Implemented Interfaces:
KeyPairService
public class Secp256k1KeyPairService extends AbstractKeyPairService
Implementation ofKeyPairService
which uses the ECDSA algorithm with the secp256k1 curve to derive keys and sign/verify signatures.
-
-
Field Summary
-
Fields inherited from class org.xrpl.xrpl4j.keypairs.AbstractKeyPairService
addressCodec, signer
-
-
Constructor Summary
Constructors Constructor Description Secp256k1KeyPairService()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description KeyPair
deriveKeyPair(String seed)
Derive a public/private keypair from a Base58Check encoded 16 byte seed.String
generateSeed(UnsignedByteArray entropy)
Generate a 16 byte seed, which can be used to derive a private key, from a non-encoded value.static Secp256k1KeyPairService
getInstance()
String
sign(UnsignedByteArray message, String privateKey)
Sign a message using the given private key.boolean
verify(UnsignedByteArray message, String signature, String publicKey)
Verify that the signature is valid, based on the message that was signed and the public key.-
Methods inherited from class org.xrpl.xrpl4j.keypairs.AbstractKeyPairService
deriveAddress, deriveAddress, generateSeed, sign, verify
-
-
-
-
Method Detail
-
getInstance
public static Secp256k1KeyPairService getInstance()
-
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
- AnUnsignedByteArray
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.
-
sign
public String sign(UnsignedByteArray message, String privateKey)
Description copied from interface:KeyPairService
Sign a message using the given private key.- Parameters:
message
- AnUnsignedByteArray
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 encodedString
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.
-
-