Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

[RPC] dumpmasterprivkey command #9504

Open
wants to merge 1 commit into
from

Conversation

Projects
None yet
4 participants
Member

achow101 commented Jan 10, 2017

RPC command to export the master private key from a wallet.

Member

luke-jr commented Jan 10, 2017

dumpwallet already does this...?

Member

achow101 commented Jan 10, 2017

dumpwallet requires that you dump to a file then find that file and open it to get the master private key. This just gives it to you with the command.

Not sure if we should add more private key exporting features because it increases the risk of doing something wrong with that.

If we are going to add this, it would require...
... add dumpmasterprivkey to the UI's sensitiv data filter
... add a test somewhere

src/wallet/rpcdump.cpp
+
+ EnsureWalletIsUnlocked();
+
+ CKeyID masterKeyID = pwalletMain->GetHDChain().masterKeyID;
@jonasschnelli

jonasschnelli Jan 11, 2017

Member

Use CWallet::IsHDEnabled()?

@jonasschnelli

jonasschnelli Jan 11, 2017

Member

Well,... you need the masterKeys CKeyID anyway,... but I guess it would still make sense to use CWallet::IsHDEnabled()

src/wallet/rpcwallet.cpp
@@ -2602,6 +2603,7 @@ static const CRPCCommand commands[] =
{ "wallet", "addwitnessaddress", &addwitnessaddress, true, {"address"} },
{ "wallet", "backupwallet", &backupwallet, true, {"destination"} },
{ "wallet", "dumpprivkey", &dumpprivkey, true, {"address"} },
+ { "wallet", "dumpmasterprivkey", &dumpmasterprivkey, true, {} },
@jonasschnelli

jonasschnelli Jan 11, 2017

Member

nit: column alignment.

Member

achow101 commented Jan 11, 2017

@jonasschnelli there is no sensitive data filter for the dump* commands. The user is not entering sensitive data, only sensitive data being output.

Member

achow101 commented Jan 11, 2017

Addressed nits and added a test.

It may need more tests, but I'm not sure what actually needs to be tested.

Member

jonasschnelli commented Jan 11, 2017

@jonasschnelli there is no sensitive data filter for the dump* commands. The user is not entering sensitive data, only sensitive data being output.

Argh. Right. I was confusing the sensitiv history filter with the idea of having a filter that disables certain sensitive commands.

dumpmasterprivkey command
RPC command to export the master private key from a wallet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment