Merge pull request #2402 from obscuren/eth-sign-fix

eth: enforce signing hashes using eth_sign instead of arbitrary data
This commit is contained in:
Jeffrey Wilcke 2016-04-01 13:42:48 +02:00
commit be44651523

View File

@ -1103,10 +1103,10 @@ func (s *PublicTransactionPoolAPI) SendRawTransaction(encodedTx string) (string,
return tx.Hash().Hex(), nil return tx.Hash().Hex(), nil
} }
// Sign will sign the given data string with the given address. The account corresponding with the address needs to // Sign signs the given hash using the key that matches the address. The key must be unlocked in order to sign the
// be unlocked. // hash.
func (s *PublicTransactionPoolAPI) Sign(address common.Address, data string) (string, error) { func (s *PublicTransactionPoolAPI) Sign(address common.Address, hash common.Hash) (string, error) {
signature, error := s.am.Sign(accounts.Account{Address: address}, common.HexToHash(data).Bytes()) signature, error := s.am.Sign(accounts.Account{Address: address}, hash[:])
return common.ToHex(signature), error return common.ToHex(signature), error
} }