15

Good afternoon all. Been searching around for an answer to this question and can't seem to find the exact solution I need.

I have an ETH account on my Parity node that I want to move to Ethereum Wallet (geth). I have the key file from Parity which contains the JSON of the account in question. However, geth does not like this format for importing accounts and seems to be expecting a keyfile with a plaintext private key.

Specifically, the error I get importing the Parity key file in geth is:

Fatal: Failed to load the private key: encoding/hex: invalid byte: U+007B '{'

Using Parity, how can I decrypt the JSON keyfile to gather the private key for importing into geth? I could not find a command-line option within Parity, nor in the Parity WebGUI, that allows for exporting private keys in plain text.

Thank you in advance.

maff1989
  • 253
  • 1
  • 2
  • 4

3 Answers3

22

Head over to the following path (according to your operating system) to access your Ethereum key(s).

  • Mac OS X: ~/Library/Application\ Support/io.parity.ethereum/keys/ethereum/
  • Linux: $HOME/.local/share/io.parity.ethereum/keys
  • Windows 7/10: %HOMEPATH%/AppData/Roaming/Parity/Ethereum/keys

Your private key(s) are to be found in the keystore files, format: UTC--created_at UTC ISO8601-UUID, e.g. UTC--2017-07-06T16-51-28Z--ff3836db-760c-120f-e43a-00c243c5b9ea. Private keys are encrypted with the password you set for each particular account in Parity.

Accessing the private key: With the View Wallet Info function on MyEtherWallet, for instance, you can access your accounts by unlocking the UTC/JSON keystore files. Use your private keys to import your accounts in Geth.

Oliver Simon
  • 336
  • 2
  • 3
  • 1
    +1 that function worked beautifully. Looks like there's a "decryptWallet()" JavaScript function that actually performs the decryption: https://www.myetherwallet.com/js/etherwallet-master.js – maff1989 Jul 06 '17 at 18:18
  • how do I id which file belongs to which wallet? – Gaia Sep 19 '17 at 18:26
  • 2
    @Gaia You can open the file and match it via the public key or name/description. – LampShade Oct 26 '17 at 23:08
  • Stupid question probably but how do you open these UTC files? My computer tried to open those with Free Viewer but that does not work... – SJDS Jan 09 '18 at 09:12
  • Stupid question #2: isn't it unsecure to let a web site decrypt your private key and show it to you over a browser? – Andyc Dec 06 '21 at 14:58
3

To get the private key from JSON file you can use ./getethpkey binary from our library at https://github.com/afterether/eacct

For example:

user@host :~/$ ./getethpkey /home/ethbot/avatars6/UTC--2018-10-17T23-50-43.221000000Z--419c1bdb562492e409c63364a57a6b608c2611ea 
WARNING: Password will be echoed in clear text to stdout, as you type it. (hiding it is a TODO)
Enter password: 123456
Private Key: ff79ded567a3d8b763a8b798f295d657956bc4cbbb5464e308b93c815ac06110
user@host :~/$ 
2

You can use this service to dump parity private key https://github.com/lispczz/parity-dumpprivkey

lispc
  • 21
  • 2