Just in case you have not heard of Cardano-Signer before, here is a short summary what you can do with it:
What can cardano-signer sign/generate?
- Sign any hexdata, textdata or binaryfile with a provided normal or extended secret key. The key can be provided in hex, bech or file format. The signing output is a signature in hex- or json-format, also the public key of the provided secret key for verification. With the enabled
--jcli
flag the generated signature and public key will be return in a jcli compatible bech format. Cardano-signer can be used instead of jcli for signing. - Sign payloads in CIP-8 / CIP-30 mode, hashed or not hashed, with or without a payload in the output. The signing output is a COSE_Sign1 signature in hex format and also the public key of the provided secret key for verification. The output can also be set to be in json format which will also show additional data (--json-extended).
- Generate and sign Catalyst registration/delegation/deregistration metadata in CIP-36 mode. This also includes relatively weighted voting power delegation. The output is the registration/delegation or deregistraton data in json or cborHex-format and/or a binary cbor file, which can be transmitted on chain as it is.
- Generate Cardano Keys like .skey/.vkey files and hex-keys from derivation paths, with or without mnemonic words.
- Generate CIP36 voting-keys.
- A given address will automatically be checked against the used publicKey.
What can cardano-signer verify?
- Verify a signature for any hexdata, textdata or binaryfile together with a provided public key. Also an optional address can be verified against the given public key. The key can be provided in hex, bech or file format. The verification output is true(exitcode=0) or false(exitcode=1) as a console output or in json-format.
- The signature can be provided in hex format or also in bech encoded
ed25519_sig
format. Cardano-signer can be used instead of jcli for verification. - Verify CIP-8 / CIP-30 COSE_Sign1/COSE_Key data. With hashed or non-hashed payloads. There is also a detailed check on the COSE_Sign1 and COSE_Key data structure included. Verification can be done on the COSE_Sign1 + COSE_Key, or COSE_Sign1 + COSE_Key + payload and/or address.
So, Cardano-Signer can be used in multiple ways to make your life easier, help you during development, and so on ...
Simply checkout the github page (https://github.com/gitmachtl/cardano-signer) and look at some of the examples. :-)
Best regards, Martin