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 intADDRESS_LENGTH_IN_HEXstatic intADDRESS_SIZEprotected ConfigOptionconfigprotected java.lang.StringcurveNamestatic java.lang.StringECDSA_ACCOUNT_SUBDIRstatic java.lang.StringECDSA_CURVE_NAMEprotected static java.lang.StringECDSA_SIGNATURE_ALGORITHMstatic java.lang.StringGM_ACCOUNT_SUBDIRprotected HashhashImplprotected java.lang.StringhexPrivateKeyprotected java.lang.StringhexPublicKeyjava.security.KeyPairkeyPairprotected java.lang.StringkeyStoreSubDirprotected static org.slf4j.Loggerloggerstatic java.lang.StringP12_FILE_POSTFIXprotected java.lang.Stringp12KeyStoreFilePathstatic java.lang.StringPEM_FILE_POSTFIXprotected java.lang.StringpemKeyStoreFilePathstatic intPUBLIC_KEY_LENGTH_IN_HEXstatic intPUBLIC_KEY_SIZEprotected java.lang.StringsignatureAlgorithmprotected static java.lang.StringSM_SIGNATURE_ALGORITHMstatic java.lang.StringSM2_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 CryptoKeyPaircreateKeyPair(java.lang.String hexPrivateKey)CryptoKeyPaircreateKeyPair(java.math.BigInteger privateKeyValue)abstract CryptoKeyPaircreateKeyPair(java.security.KeyPair keyPair)abstract CryptoKeyPairgenerateKeyPair()generate keyPair randomlyjava.lang.StringgetAddress()get the address according to the public keybyte[]getAddress(byte[] publicKey)java.lang.StringgetAddress(java.lang.String publicKey)calculate the address according to the given public keybyte[]getAddress(java.math.BigInteger publicKey)java.lang.StringgetHexPrivateKey()java.lang.StringgetHexPublicKey()java.security.KeyPairgetKeyPair()protected java.lang.StringgetKeyStoreFilePath(java.lang.String address, java.lang.String postFix)java.lang.StringgetKeyStoreSubDir()java.lang.StringgetP12KeyStoreFilePath()java.lang.StringgetP12KeyStoreFilePath(java.lang.String address)java.lang.StringgetPemKeyStoreFilePath()java.lang.StringgetPemKeyStoreFilePath(java.lang.String address)protected java.lang.StringgetPublicKeyNoPrefix(java.lang.String publicKeyStr)voidsetConfig(ConfigOption config)voidstoreKeyPairWithP12(java.lang.String p12FilePath, java.lang.String password)voidstoreKeyPairWithP12Format(java.lang.String password)voidstoreKeyPairWithPem(java.lang.String keyStoreFilePath)voidstoreKeyPairWithPemFormat()
-
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)
-