public abstract class CryptoKeyPair
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
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 |
protected long |
jniKeyPair |
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 |
PRIVATE_KEY_SIZE |
static int |
PRIVATE_KEY_SIZE_IN_HEX |
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 |
static java.lang.String |
UNCOMPRESSED_PUBLICKEY_FLAG_STR |
| 构造器和说明 |
|---|
CryptoKeyPair() |
CryptoKeyPair(java.security.KeyPair keyPair)
Init CryptoKeyPair from the keyPair
|
| 限定符和类型 | 方法和说明 |
|---|---|
CryptoKeyPair |
createKeyPair(java.math.BigInteger privateKeyValue)
Create key pair
|
abstract CryptoKeyPair |
createKeyPair(java.security.KeyPair keyPair)
Abstract function of create keyPair randomly
|
CryptoKeyPair |
createKeyPair(java.lang.String hexPrivateKey)
Create key pair
|
void |
destroy() |
protected void |
finalize() |
abstract CryptoKeyPair |
generateKeyPair()
Abstract function of generate keyPair randomly
|
java.lang.String |
getAddress()
get the address according to the public key
|
byte[] |
getAddress(java.math.BigInteger publicKey) |
byte[] |
getAddress(byte[] publicKey) |
java.lang.String |
getAddress(java.lang.String publicKey) |
protected static java.lang.String |
getAddress(java.lang.String publicKey,
Hash hashInterface)
calculate the address according to the given public key
|
java.lang.String |
getCurveName() |
java.lang.String |
getHexPrivateKey()
Get the private key
|
java.lang.String |
getHexPublicKey()
Get the hex string public key
|
long |
getJniKeyPair() |
java.security.KeyPair |
getKeyPair()
Get key pair
|
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 static java.lang.String |
getPublicKeyNoPrefix(java.lang.String publicKeyStr) |
void |
releaseJni() |
void |
setConfig(ConfigOption config)
Get the configuration
|
void |
storeKeyPairWithP12(java.lang.String p12FilePath,
java.lang.String password) |
void |
storeKeyPairWithP12Format(java.lang.String password) |
void |
storeKeyPairWithPem(java.lang.String keyStoreFilePath) |
void |
storeKeyPairWithPemFormat() |
protected static org.slf4j.Logger logger
public static final int ADDRESS_SIZE
public static final int ADDRESS_LENGTH_IN_HEX
public static final int PUBLIC_KEY_SIZE
public static final int PUBLIC_KEY_LENGTH_IN_HEX
public static final int PRIVATE_KEY_SIZE
public static final int PRIVATE_KEY_SIZE_IN_HEX
public static final java.lang.String ECDSA_CURVE_NAME
public static final java.lang.String SM2_CURVE_NAME
public static final java.lang.String PEM_FILE_POSTFIX
public static final java.lang.String P12_FILE_POSTFIX
public static final java.lang.String GM_ACCOUNT_SUBDIR
public static final java.lang.String ECDSA_ACCOUNT_SUBDIR
public static final java.lang.String UNCOMPRESSED_PUBLICKEY_FLAG_STR
protected static final java.lang.String ECDSA_SIGNATURE_ALGORITHM
protected static final java.lang.String SM_SIGNATURE_ALGORITHM
protected java.lang.String hexPrivateKey
protected java.lang.String hexPublicKey
public java.security.KeyPair keyPair
protected Hash hashImpl
protected java.lang.String curveName
protected java.lang.String keyStoreSubDir
protected ConfigOption config
protected java.lang.String pemKeyStoreFilePath
protected java.lang.String p12KeyStoreFilePath
protected java.lang.String signatureAlgorithm
protected long jniKeyPair
public CryptoKeyPair()
public CryptoKeyPair(java.security.KeyPair keyPair)
keyPair - the original keyPairpublic long getJniKeyPair()
public void setConfig(ConfigOption config)
config - ConfigOption type configpublic java.lang.String getHexPrivateKey()
public java.lang.String getHexPublicKey()
public java.security.KeyPair getKeyPair()
public abstract CryptoKeyPair generateKeyPair()
public java.lang.String getCurveName()
public abstract CryptoKeyPair createKeyPair(java.security.KeyPair keyPair)
keyPair - KeyPair type key pairpublic CryptoKeyPair createKeyPair(java.math.BigInteger privateKeyValue)
privateKeyValue - BigInteger type private keypublic CryptoKeyPair createKeyPair(java.lang.String hexPrivateKey)
hexPrivateKey - hex string of integer private keyprotected static java.lang.String getPublicKeyNoPrefix(java.lang.String publicKeyStr)
public java.lang.String getAddress()
public java.lang.String getAddress(java.lang.String publicKey)
protected static java.lang.String getAddress(java.lang.String publicKey,
Hash hashInterface)
publicKey - the Hexed publicKey that need to calculate addresshashInterface - the hash implement, support SM3Hash and Keccak256 nowpublic byte[] getAddress(byte[] publicKey)
public byte[] getAddress(java.math.BigInteger publicKey)
public void storeKeyPairWithPem(java.lang.String keyStoreFilePath)
public void storeKeyPairWithPemFormat()
public void storeKeyPairWithP12(java.lang.String p12FilePath,
java.lang.String password)
public void storeKeyPairWithP12Format(java.lang.String password)
public java.lang.String getKeyStoreSubDir()
public java.lang.String getPemKeyStoreFilePath()
public java.lang.String getPemKeyStoreFilePath(java.lang.String address)
public java.lang.String getP12KeyStoreFilePath(java.lang.String address)
public java.lang.String getP12KeyStoreFilePath()
protected java.lang.String getKeyStoreFilePath(java.lang.String address,
java.lang.String postFix)
public void destroy()
public void releaseJni()
protected void finalize()
finalize 在类中 java.lang.Object