wallet-key-tool is a handy GUI application for editing the contents of various wallet files (.dat / .key / .aes.json / .txt / .wallet). What wallet-key-tool can do: add or remove keys; reading one format and exporting to another; moving keys between different wallets, etc.
IMPORTANT! The Wallet Key Tool requires java (v7.0 +) to work.
Through a graphical interface (GUI)
On Windows, you probably just need to double-click the .exe \ .jar file and it will launch (if you have Java installed, the GUI will not work without it).
Whatever open file with Bitcoin wallet: select “load wallet” and select your wallet. then the program will ask for a password (if the wallet / wallet file is encrypted). After entering the password, all public and private keys will be displayed in the main menu of the program.
Through the command line (CLI)
On systems that have a command line interface (this also works on Windows, it’s a little harder to find there, they really hate their own users), you can also start it by running the following command:
java -jar wallet-key-tool.jar
This will open a GUI window that you can interact with, information and error messages will be printed to stderr. If you want to increase the log level, start it like this:
Note: the -D option must come before the -jar option, it is passed directly to java. Valid log levels are ERROR, WARN, INFO, DEBUG, TRACE, default is INFO, if you want to see stack traces use TRACE.
If you just want to dump the contents of the wallet to the console without interacting with the GUI, you can pass the filename to it, if you do, it will not try to open the GUI, it will just dump the contents of the wallet. to standard exit and exit. Note that the format of the dump is still subject to change, keep this in mind when writing a parser for it.
java -jar wallet-key-tool.jar <filename>
The program will ask for a password if the file is encrypted. If you want to avoid prompting for a password, you can specify the password using the –password = “my pass phrase” switch (you need quotes if it contains spaces). An example of a session in the console (I didn’t enter the passphrase, I just hit Enter, so no private keys were decrypted):
java -jar build/libs/wallet-key-tool.jar /home/bernd/Schotter/Schotter.wallet
[main] INFO org.multibit.store.MultiBitWalletProtobufSerializer - Loading wallet extension org.multibit.walletProtect.2
Wallet is encrypted. Enter passphrase:
no passphrase entered, will skip decryption
196q7FbtJHXi6Nydd1fiL321vvJpTVwbP3 KEY DECRYPTION SKIPPED