mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-17 17:33:47 +00:00
Merge f695b681e7 into 5f9b01a283
This commit is contained in:
commit
36422659a1
2 changed files with 19 additions and 1 deletions
|
|
@ -444,6 +444,15 @@ func (ks *KeyStore) Import(keyJSON []byte, passphrase, newPassphrase string) (ac
|
|||
return ks.importKey(key, newPassphrase)
|
||||
}
|
||||
|
||||
// ExportECDSA exports as an unencrypted key.
|
||||
func (ks *KeyStore) ExportECDSA(a accounts.Account, passphrase string) (priv *ecdsa.PrivateKey, err error) {
|
||||
_, key, err := ks.getDecryptedKey(a, passphrase)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return key.PrivateKey, nil
|
||||
}
|
||||
|
||||
// ImportECDSA stores the given key into the key directory, encrypting it with the passphrase.
|
||||
func (ks *KeyStore) ImportECDSA(priv *ecdsa.PrivateKey, passphrase string) (accounts.Account, error) {
|
||||
key := newKeyFromECDSA(priv)
|
||||
|
|
|
|||
|
|
@ -188,6 +188,15 @@ func (ks *KeyStore) ExportKey(account *Account, passphrase, newPassphrase string
|
|||
return ks.keystore.Export(account.account, passphrase, newPassphrase)
|
||||
}
|
||||
|
||||
// ExportECDSA exports as an unencrypted key.
|
||||
func (ks *KeyStore) ExportECDSAKey(account *Account, passphrase string) (key []byte, _ error) {
|
||||
priv, err := ks.keystore.ExportECDSA(account.account, passphrase)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return crypto.FromECDSA(priv), nil
|
||||
}
|
||||
|
||||
// ImportKey stores the given encrypted JSON key into the key directory.
|
||||
func (ks *KeyStore) ImportKey(keyJSON []byte, passphrase, newPassphrase string) (account *Account, _ error) {
|
||||
acc, err := ks.keystore.Import(common.CopyBytes(keyJSON), passphrase, newPassphrase)
|
||||
|
|
@ -197,7 +206,7 @@ func (ks *KeyStore) ImportKey(keyJSON []byte, passphrase, newPassphrase string)
|
|||
return &Account{acc}, nil
|
||||
}
|
||||
|
||||
// ImportECDSAKey stores the given encrypted JSON key into the key directory.
|
||||
// ImportECDSAKey stores the given key into the key directory, encrypting it with the passphrase.
|
||||
func (ks *KeyStore) ImportECDSAKey(key []byte, passphrase string) (account *Account, _ error) {
|
||||
privkey, err := crypto.ToECDSA(common.CopyBytes(key))
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Reference in a new issue