Merge pull request #3593

c7f9332 Add check for valid keys in `importprivkey` (Wladimir J. van der Laan)
This commit is contained in:
Wladimir J. van der Laan 2014-01-28 18:38:10 +01:00
commit 6ebcec7d3c
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6

View File

@ -101,9 +101,11 @@ Value importprivkey(const Array& params, bool fHelp)
CBitcoinSecret vchSecret; CBitcoinSecret vchSecret;
bool fGood = vchSecret.SetString(strSecret); bool fGood = vchSecret.SetString(strSecret);
if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key encoding");
CKey key = vchSecret.GetKey(); CKey key = vchSecret.GetKey();
if (!key.IsValid()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Private key outside allowed range");
CPubKey pubkey = key.GetPubKey(); CPubKey pubkey = key.GetPubKey();
CKeyID vchAddress = pubkey.GetID(); CKeyID vchAddress = pubkey.GetID();
{ {