Package org.stellar.sdk
Class KeyPair
java.lang.Object
org.stellar.sdk.KeyPair
Holds a Stellar keypair.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanSign()Returns true if this Keypair is capable of signingbooleanstatic KeyPairfromAccountId(String accountId) Creates a new Stellar KeyPair from a strkey encoded Stellar account ID.static KeyPairfromBip39Seed(byte[] bip39Seed, int accountNumber) Finds the KeyPair for the path m/44'/148'/accountNumber' using the method described in SEP-0005.static KeyPairfromPublicKey(byte[] publicKey) Creates a new Stellar keypair from a 32 byte address.static KeyPairfromSecretSeed(byte[] seed) Creates a new Stellar keypair from a raw 32 byte secret seed.static KeyPairfromSecretSeed(char[] seed) Creates a new Stellar KeyPair from a strkey encoded Stellar secret seed.static KeyPairfromSecretSeed(String seed) Insecure Creates a new Stellar KeyPair from a strkey encoded Stellar secret seed.static KeyPairstatic KeyPairReturns the human-readable account ID encoded in strkey.byte[]char[]Returns the human-readable secret seed encoded in strkey.inthashCode()static KeyPairrandom()Generates a random Stellar keypair.byte[]sign(byte[] data) Sign the provided data with the keypair's private key.signDecorated(byte[] data) Sign the provided data with the keypair's private key and returnsDecoratedSignature.signPayloadDecorated(byte[] signerPayload) Sign the provided payload data for payload signer where the input is the data being signed.booleanverify(byte[] data, byte[] signature) Verify the provided data and signature match this keypair's public key.
-
Constructor Details
-
KeyPair
public KeyPair(net.i2p.crypto.eddsa.EdDSAPublicKey publicKey) Creates a new KeyPair without a private key. Useful to simply verify a signature from a given public address.- Parameters:
publicKey- The public key for this KeyPair.
-
KeyPair
public KeyPair(@NonNull @NonNull net.i2p.crypto.eddsa.EdDSAPublicKey publicKey, net.i2p.crypto.eddsa.EdDSAPrivateKey privateKey) Creates a new KeyPair from the given public and private keys.- Parameters:
publicKey- The public key for this KeyPair.privateKey- The private key for this KeyPair or null if you want a public key only
-
-
Method Details
-
canSign
public boolean canSign()Returns true if this Keypair is capable of signing -
fromSecretSeed
Creates a new Stellar KeyPair from a strkey encoded Stellar secret seed.- Parameters:
seed- Char array containing strkey encoded Stellar secret seed.- Returns:
KeyPair
-
fromSecretSeed
Insecure Creates a new Stellar KeyPair from a strkey encoded Stellar secret seed. This method is insecure. Use only if you are aware of security implications.- Parameters:
seed- The strkey encoded Stellar secret seed.- Returns:
KeyPair- See Also:
-
fromSecretSeed
Creates a new Stellar keypair from a raw 32 byte secret seed.- Parameters:
seed- The 32 byte secret seed.- Returns:
KeyPair
-
fromAccountId
Creates a new Stellar KeyPair from a strkey encoded Stellar account ID.- Parameters:
accountId- The strkey encoded Stellar account ID.- Returns:
KeyPair
-
fromPublicKey
Creates a new Stellar keypair from a 32 byte address.- Parameters:
publicKey- The 32 byte public key.- Returns:
KeyPair
-
fromBip39Seed
Finds the KeyPair for the path m/44'/148'/accountNumber' using the method described in SEP-0005.- Parameters:
bip39Seed- The output of BIP0039accountNumber- The number of the account- Returns:
- KeyPair with secret
-
random
Generates a random Stellar keypair.- Returns:
- a random Stellar keypair.
-
getAccountId
Returns the human-readable account ID encoded in strkey. -
getSecretSeed
public char[] getSecretSeed()Returns the human-readable secret seed encoded in strkey. -
getPublicKey
public byte[] getPublicKey() -
getSignatureHint
-
getXdrPublicKey
-
getXdrAccountId
-
getXdrSignerKey
-
fromXdrPublicKey
-
fromXdrSignerKey
-
sign
public byte[] sign(byte[] data) Sign the provided data with the keypair's private key.- Parameters:
data- The data to sign.- Returns:
- signed bytes, null if the private key for this keypair is null.
-
signDecorated
Sign the provided data with the keypair's private key and returnsDecoratedSignature.- Parameters:
data- the data to sign- Returns:
- DecoratedSignature
-
signPayloadDecorated
Sign the provided payload data for payload signer where the input is the data being signed. Per the CAP-40 Signature specDecoratedSignature.- Parameters:
signerPayload- the payload signers raw data to sign- Returns:
- DecoratedSignature
-
verify
public boolean verify(byte[] data, byte[] signature) Verify the provided data and signature match this keypair's public key.- Parameters:
data- The data that was signed.signature- The signature.- Returns:
- True if they match, false otherwise.
-
equals
-
hashCode
public int hashCode()
-