Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
signmessage.h
Go to the documentation of this file.
1// Copyright (c) 2009-2010 Satoshi Nakamoto
2// Copyright (c) 2009-present The Bitcoin Core developers
3// Distributed under the MIT software license, see the accompanying
4// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6#ifndef BITCOIN_COMMON_SIGNMESSAGE_H
7#define BITCOIN_COMMON_SIGNMESSAGE_H
8
9#include <uint256.h>
10
11#include <string>
12
13class CKey;
14
15extern const std::string MESSAGE_MAGIC;
16
42
48
55 const std::string& address,
56 const std::string& signature,
57 const std::string& message);
58
64bool MessageSign(
65 const CKey& privkey,
66 const std::string& message,
67 std::string& signature);
68
73uint256 MessageHash(const std::string& message);
74
75std::string SigningResultString(SigningResult res);
76
77#endif // BITCOIN_COMMON_SIGNMESSAGE_H
An encapsulated private key.
Definition key.h:36
256-bit opaque blob.
Definition uint256.h:195
const std::string MESSAGE_MAGIC
Text used to signify that a signed message follows and to prevent inadvertently signing a transaction...
uint256 MessageHash(const std::string &message)
Hashes a message for signing and verification in a manner that prevents inadvertently signing a trans...
SigningResult
Definition signmessage.h:43
@ PRIVATE_KEY_NOT_AVAILABLE
Definition signmessage.h:45
MessageVerificationResult
The result of a signed message verification.
Definition signmessage.h:23
@ ERR_MALFORMED_SIGNATURE
The provided signature couldn't be parsed (maybe invalid base64).
Definition signmessage.h:31
@ ERR_INVALID_ADDRESS
The provided address is invalid.
Definition signmessage.h:25
@ ERR_ADDRESS_NO_KEY
The provided address is valid but does not refer to a public key.
Definition signmessage.h:28
@ ERR_NOT_SIGNED
The message was not signed with the private key of the provided address.
Definition signmessage.h:37
@ OK
The message verification was successful.
Definition signmessage.h:40
@ ERR_PUBKEY_NOT_RECOVERED
A public key could not be recovered from the provided signature and message.
Definition signmessage.h:34
bool MessageSign(const CKey &privkey, const std::string &message, std::string &signature)
Sign a message.
std::string SigningResultString(SigningResult res)
MessageVerificationResult MessageVerify(const std::string &address, const std::string &signature, const std::string &message)
Verify a signed message.