Class CryptoKeyPair
java.lang.Object
org.fisco.bcos.sdk.crypto.keypair.CryptoKeyPair
- Direct Known Subclasses:
ECDSAKeyPair
,SM2KeyPair
public abstract class CryptoKeyPair
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description static int
ADDRESS_LENGTH_IN_HEX
static int
ADDRESS_SIZE
protected ConfigOption
config
protected java.lang.String
curveName
static java.lang.String
ECDSA_ACCOUNT_SUBDIR
static java.lang.String
ECDSA_CURVE_NAME
protected static java.lang.String
ECDSA_SIGNATURE_ALGORITHM
static java.lang.String
GM_ACCOUNT_SUBDIR
protected Hash
hashImpl
protected java.lang.String
hexPrivateKey
protected java.lang.String
hexPublicKey
java.security.KeyPair
keyPair
protected java.lang.String
keyStoreSubDir
protected static org.slf4j.Logger
logger
static java.lang.String
P12_FILE_POSTFIX
protected java.lang.String
p12KeyStoreFilePath
static java.lang.String
PEM_FILE_POSTFIX
protected java.lang.String
pemKeyStoreFilePath
static int
PUBLIC_KEY_LENGTH_IN_HEX
static int
PUBLIC_KEY_SIZE
protected java.lang.String
signatureAlgorithm
protected static java.lang.String
SM_SIGNATURE_ALGORITHM
static java.lang.String
SM2_CURVE_NAME
-
Constructor Summary
Constructors Constructor Description CryptoKeyPair()
CryptoKeyPair(java.security.KeyPair keyPair)
init CryptoKeyPair from the keyPair -
Method Summary
Modifier and Type Method Description CryptoKeyPair
createKeyPair(java.lang.String hexPrivateKey)
CryptoKeyPair
createKeyPair(java.math.BigInteger privateKeyValue)
abstract CryptoKeyPair
createKeyPair(java.security.KeyPair keyPair)
abstract CryptoKeyPair
generateKeyPair()
generate keyPair randomlyjava.lang.String
getAddress()
get the address according to the public keybyte[]
getAddress(byte[] publicKey)
java.lang.String
getAddress(java.lang.String publicKey)
calculate the address according to the given public keybyte[]
getAddress(java.math.BigInteger publicKey)
java.lang.String
getHexPrivateKey()
java.lang.String
getHexPublicKey()
java.security.KeyPair
getKeyPair()
protected java.lang.String
getKeyStoreFilePath(java.lang.String address, java.lang.String postFix)
java.lang.String
getKeyStoreSubDir()
java.lang.String
getP12KeyStoreFilePath()
java.lang.String
getP12KeyStoreFilePath(java.lang.String address)
java.lang.String
getPemKeyStoreFilePath()
java.lang.String
getPemKeyStoreFilePath(java.lang.String address)
protected java.lang.String
getPublicKeyNoPrefix(java.lang.String publicKeyStr)
void
setConfig(ConfigOption config)
void
storeKeyPairWithP12(java.lang.String p12FilePath, java.lang.String password)
void
storeKeyPairWithP12Format(java.lang.String password)
void
storeKeyPairWithPem(java.lang.String keyStoreFilePath)
void
storeKeyPairWithPemFormat()
-
Field Details
-
logger
protected static org.slf4j.Logger logger -
ADDRESS_SIZE
public static final int ADDRESS_SIZE- See Also:
- Constant Field Values
-
ADDRESS_LENGTH_IN_HEX
public static final int ADDRESS_LENGTH_IN_HEX- See Also:
- Constant Field Values
-
PUBLIC_KEY_SIZE
public static final int PUBLIC_KEY_SIZE- See Also:
- Constant Field Values
-
PUBLIC_KEY_LENGTH_IN_HEX
public static final int PUBLIC_KEY_LENGTH_IN_HEX- See Also:
- Constant Field Values
-
ECDSA_CURVE_NAME
public static final java.lang.String ECDSA_CURVE_NAME- See Also:
- Constant Field Values
-
SM2_CURVE_NAME
public static final java.lang.String SM2_CURVE_NAME- See Also:
- Constant Field Values
-
PEM_FILE_POSTFIX
public static final java.lang.String PEM_FILE_POSTFIX- See Also:
- Constant Field Values
-
P12_FILE_POSTFIX
public static final java.lang.String P12_FILE_POSTFIX- See Also:
- Constant Field Values
-
GM_ACCOUNT_SUBDIR
public static final java.lang.String GM_ACCOUNT_SUBDIR- See Also:
- Constant Field Values
-
ECDSA_ACCOUNT_SUBDIR
public static final java.lang.String ECDSA_ACCOUNT_SUBDIR- See Also:
- Constant Field Values
-
ECDSA_SIGNATURE_ALGORITHM
protected static final java.lang.String ECDSA_SIGNATURE_ALGORITHM- See Also:
- Constant Field Values
-
SM_SIGNATURE_ALGORITHM
protected static final java.lang.String SM_SIGNATURE_ALGORITHM- See Also:
- Constant Field Values
-
hexPrivateKey
protected java.lang.String hexPrivateKey -
hexPublicKey
protected java.lang.String hexPublicKey -
keyPair
public java.security.KeyPair keyPair -
hashImpl
-
curveName
protected java.lang.String curveName -
keyStoreSubDir
protected java.lang.String keyStoreSubDir -
config
-
pemKeyStoreFilePath
protected java.lang.String pemKeyStoreFilePath -
p12KeyStoreFilePath
protected java.lang.String p12KeyStoreFilePath -
signatureAlgorithm
protected java.lang.String signatureAlgorithm
-
-
Constructor Details
-
CryptoKeyPair
public CryptoKeyPair() -
CryptoKeyPair
public CryptoKeyPair(java.security.KeyPair keyPair)init CryptoKeyPair from the keyPair- Parameters:
keyPair
- the original keyPair
-
-
Method Details
-
setConfig
-
getHexPrivateKey
public java.lang.String getHexPrivateKey() -
getHexPublicKey
public java.lang.String getHexPublicKey() -
getKeyPair
public java.security.KeyPair getKeyPair() -
generateKeyPair
generate keyPair randomly- Returns:
- the generated keyPair
-
createKeyPair
-
createKeyPair
-
createKeyPair
-
getPublicKeyNoPrefix
protected java.lang.String getPublicKeyNoPrefix(java.lang.String publicKeyStr) -
getAddress
public java.lang.String getAddress()get the address according to the public key- Returns:
- the hexed address calculated from the publicKey
-
getAddress
public java.lang.String getAddress(java.lang.String publicKey)calculate the address according to the given public key- Parameters:
publicKey
- the Hexed publicKey that need to calculate address- Returns:
- the account address
-
getAddress
public byte[] getAddress(byte[] publicKey) -
getAddress
public byte[] getAddress(java.math.BigInteger publicKey) -
storeKeyPairWithPem
public void storeKeyPairWithPem(java.lang.String keyStoreFilePath) -
storeKeyPairWithPemFormat
public void storeKeyPairWithPemFormat() -
storeKeyPairWithP12
public void storeKeyPairWithP12(java.lang.String p12FilePath, java.lang.String password) -
storeKeyPairWithP12Format
public void storeKeyPairWithP12Format(java.lang.String password) -
getKeyStoreSubDir
public java.lang.String getKeyStoreSubDir() -
getPemKeyStoreFilePath
public java.lang.String getPemKeyStoreFilePath() -
getPemKeyStoreFilePath
public java.lang.String getPemKeyStoreFilePath(java.lang.String address) -
getP12KeyStoreFilePath
public java.lang.String getP12KeyStoreFilePath(java.lang.String address) -
getP12KeyStoreFilePath
public java.lang.String getP12KeyStoreFilePath() -
getKeyStoreFilePath
protected java.lang.String getKeyStoreFilePath(java.lang.String address, java.lang.String postFix)
-