lightning-checkmessage

lightning-checkmessage -- Command to check if a signature is from a node

SYNOPSIS

checkmessage message zbase [pubkey]

DESCRIPTION

The checkmessage RPC command is the counterpart to signmessage: given a node id (pubkey), signature (zbase) and a message, it verifies that the signature was generated by that node for that message (more technically: by someone who knows that node's secret).

As a special case, if pubkey is not specified, we will try every known node key (as per listnodes), and verification succeeds if it matches for any one of them. Note: this is implemented far more efficiently than trying each one, so performance is not a concern.

  • message (string): Message to be checked against the signature.
  • zbase (string): The Zbase32 encoded signature to verify.
  • pubkey (pubkey, optional): The Zbase32 encoded signature to verify.

RETURN VALUE

On success, an object is returned, containing:

  • verified (boolean) (always true): Whether the signature was valid.
  • pubkey (pubkey): The pubkey parameter, or the pubkey found by looking for known nodes.

ERRORS

On failure, an error is returned and core lightning exit with the following error code:

  • -32602: Parameter missed or malformed;
  • 1301: pubkey not found in the graph.

AUTHOR

Rusty Russell <[email protected]> is mainly responsible.

SEE ALSO

lightning-signmessage(7)

RESOURCES

Main web site: https://github.com/ElementsProject/lightning

EXAMPLES

Example 1:

Request:

lightning-cli checkmessage -k "message"="testcase to check new rpc error" "zbase"="d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx" "pubkey"="03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7"
{
  "id": "example:checkmessage#1",
  "method": "checkmessage",
  "params": {
    "message": "testcase to check new rpc error",
    "zbase": "d66bqz3qsku5fxtqsi37j11pci47ydxa95iusphutggz9ezaxt56neh77kxe5hyr41kwgkncgiu94p9ecxiexgpgsz8daoq4tw8kj8yx",
    "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7"
  }
}

Response:

{
  "pubkey": "03be3b0e9992153b1d5a6e1623670b6c3663f72ce6cf2e0dd39c0a373a7de5a3b7",
  "verified": true
}

Example 2:

Request:

lightning-cli checkmessage -k "message"="this is a test!" "zbase"="d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7"
{
  "id": "example:checkmessage#2",
  "method": "checkmessage",
  "params": {
    "message": "this is a test!",
    "zbase": "d6tqaeuonjhi98mmont9m4wag7gg4krg1f4txonug3h31e9h6p6k6nbwjondnj46dkyausobstnk7fhyy998bhgc1yr98dfmhb4k54d7"
  }
}

Response:

{
  "pubkey": "0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518",
  "verified": true
}