Releases: gitmachtl/cardano-signer
cardano-signer 1.32.0 (PaperWallet Edition-II)
Release Notes for 1.32.0
Key-Generation: Yoroi PaperWallet Support 🥳
-
This update adds support for the 21-word Yoroi PaperWallet Style Mnemonic. It allows users to generate there keys from it and to participate in the NIGHT token claim for example.
-
Also, its allows users with a 21-word mnemonics to convert it into a regular 15-word byron yoroi mnemonic.
-
You can use it like the byron features introduced in version 1.29.0 (https://github.com/gitmachtl/cardano-signer/releases/tag/v1.29.0)
cardano-signer keygen --yoroi \
--mnemonics "seek betray suggest lock cancel risk dizzy merry language marble illegal net gesture wife life horror warm tip gospel couple evolve" \
--passphrase "testpassword" \
--path 44H/1815H/0H/0/0 \
--json-extended
{
"workMode": "keygen-yoroi",
"derivationPath": "44H/1815H/0H/0/0",
"derivationType": "icarus",
"paperWalletMnemonics": "seek betray suggest lock cancel risk dizzy merry language marble illegal net gesture wife life horror warm tip gospel couple evolve",
"mnemonics": "humble day analyst lend useless husband excuse elite moon decide annual float pull smoke inhale",
"rootKey": "c8c6ee11582474c90dc43720bb60b4b1014839d39bacc6f59124791683b97850c1cf587a5da9ac2076586e06c3855d3230423d9af8769ba82746d456475b3c70703045995aab017b429b3963f2ebcf32cb6111fba17c1027411073e05e97b716",
"address": "Ae2tdPwUPEYw3sGh9uakCRK55x68YHU4espYHSRNP5mpi4bLu2YesHbhn7z",
"secretKey": "4094da1a63e9047662c54a4093c3e5541fdb46bcc6420fbf8710188d98b9785092149fe4b88620fa492d459c069a119f0d33d2515714ec8c5293f928987314a785c6278a59d288a78af346581975602f21d75516c742d187273908434ac94f0d5b06175ab79ebb392d2853b220f55ede739218d9ec040f0f445340cd45bfbcf8",
"publicKey": "85c6278a59d288a78af346581975602f21d75516c742d187273908434ac94f0d",
"XpubKeyHex": "d4164f2bbd9d81166092bf5813b00863c0e9d0a4480e1ed1ffa3ee8f5b3e264fd7e3f7ac9a572100c9565c3f6208a7cf8cee675dc189d8ce3c0653f236b0d745",
"XpubKeyBech": "xpub16sty72aankq3vcyjhavp8vqgv0qwn59yfq8pa50l50hg7ke7ye8a0clh4jd9wggqe9t9c0mzpznulr8wvawurzwcec7qv5ljx6cdw3gl8fq23",
"output": {
"skey": {
"type": "PaymentSigningKeyByron_ed25519_bip32",
"description": "Payment Signing Key",
"cborHex": "58804094da1a63e9047662c54a4093c3e5541fdb46bcc6420fbf8710188d98b9785092149fe4b88620fa492d459c069a119f0d33d2515714ec8c5293f928987314a785c6278a59d288a78af346581975602f21d75516c742d187273908434ac94f0d5b06175ab79ebb392d2853b220f55ede739218d9ec040f0f445340cd45bfbcf8"
},
"vkey": {
"type": "PaymentVerificationKeyByron_ed25519_bip32",
"description": "Payment Verification Key",
"cborHex": "582085c6278a59d288a78af346581975602f21d75516c742d187273908434ac94f0d"
}
}
}
You can see that the keys were derived from the given standard path. The original 21-word mnemonics can be found in the paperWalletMnemonics
output, and the unscrambled regular 15-word byron yoroi mnemonic can be found in the normal mnemonics
output. So you can also use this feature to convert from 21-word to 15-word mnemonic.
Other changes:
- The function to generate the YoroiByronAddress can now be switched to other networks too like 1=PreProd.
cardano-signer 1.31.0 (PaperWallet Edition)
Release Notes for 1.31.0
Key-Generation: Deadalus PaperWallet Support 🥳
-
This update adds support for the 27-word Daedalus PaperWallet Style Mnemonic. It allows users to generate there keys from it and to participate in the NIGHT token claim for example.
-
Also, its allows users with a 27-word mnemonics to convert it into a regular 12-word byron daedalus mnemonic.
-
You can use it like the byron features introduced in version 1.29.0 (https://github.com/gitmachtl/cardano-signer/releases/tag/v1.29.0)
cardano-signer keygen --byron \
--mnemonics "force usage medal chapter start myself odor ripple concert aspect wink melt afford lounge smart bulk way hazard burden type broken defense city announce reward same tumble" \
--address "DdzFFzCqrht89gKVKa2Ucz2UCP6VTJjabYuiaNHgKXtCfGaJmWkpYvzcr1Tt8EcFkuyHxwDyhEfskbNbuKCqroGEbLQqEbwkEqSb4Kqq" \
--json-extended
{
"workMode": "keygen-byron",
"derivationPath": "15H/20H",
"derivationType": "byron",
"paperWalletMnemonics": "force usage medal chapter start myself odor ripple concert aspect wink melt afford lounge smart bulk way hazard burden type broken defense city announce reward same tumble",
"mnemonics": "swim average antenna there trap nice good stereo lion safe next brief",
"rootKey": "70ce27ea3534037d386b5f9faf55c056f97d9bcb107a8eb8147c77e6230e0553cefba8a2da4539c7189972175b194a57fe9b58c6673837179bc920d8203f3375057ce5948393b1774b7ec56d78211becb1fe6e4d522aa5381b13051e5a33fc77",
"rootPublicKey": "bfadcb34f4288b392faf9b65efd0d2f6a7e5ad21591d3d21a3920e8661a5b948057ce5948393b1774b7ec56d78211becb1fe6e4d522aa5381b13051e5a33fc77",
"address": "DdzFFzCqrht89gKVKa2Ucz2UCP6VTJjabYuiaNHgKXtCfGaJmWkpYvzcr1Tt8EcFkuyHxwDyhEfskbNbuKCqroGEbLQqEbwkEqSb4Kqq",
"secretKey": "d438234fd297771d9d69dc0cc9c755b50997c4e49162278aa51c888f7c06a60c00e50a4b9c37a376eb79c14a331fd62686d72204aef7651d74c3bf4ee5e370f4a2cd808fae9c8aebbac3e56b47b7a604bf2c732f8587c433189cbebfe234492f3b6ecdcd8be8270e92cefee706e391bc4fb5ef5a1ee351a78e0ffe8a58533a84",
"publicKey": "a2cd808fae9c8aebbac3e56b47b7a604bf2c732f8587c433189cbebfe234492f",
"output": {
"skey": {
"type": "PaymentSigningKeyByron_ed25519_bip32",
"description": "Payment Signing Key",
"cborHex": "5880d438234fd297771d9d69dc0cc9c755b50997c4e49162278aa51c888f7c06a60c00e50a4b9c37a376eb79c14a331fd62686d72204aef7651d74c3bf4ee5e370f4a2cd808fae9c8aebbac3e56b47b7a604bf2c732f8587c433189cbebfe234492f3b6ecdcd8be8270e92cefee706e391bc4fb5ef5a1ee351a78e0ffe8a58533a84"
},
"vkey": {
"type": "PaymentVerificationKeyByron_ed25519_bip32",
"description": "Payment Verification Key",
"cborHex": "5820a2cd808fae9c8aebbac3e56b47b7a604bf2c732f8587c433189cbebfe234492f"
}
}
}
You can see that the keys were derived and the path for the given byron paper wallet address was automatically calculated. The original 27-word mnemonics can be found in the paperWalletMnemonics
output, and the unscrambled regular 12-word byron daedalus mnemonic can be found in the normal mnemonics
output. So you can also use this feature to convert from 27-word to 12-word mnemonic.
Other changes:
- Lifted the restriction for EXODUS cardano wallet derivation to allow all derivation paths, was locked down to the first standard one before.
cardano-signer 1.30.0 (Exodus-Edition)
Release Notes for 1.30.0
Key-Generation: Exodus Wallet derivation method was added 🥳
-
Its now possible to generate payment keys and address from 12-Word Cardano EXODUS Wallet via the new
--exodus
flag -
Its now possible to generate staking keys and address from 12-Word Cardano EXODUS Wallet via the new
--exodus-stake
flag
ℹ️ This update enables users of Exodus Cardano Wallet to manually sign the Midnight NIGHT Claim challenge.

Example Usage 1:
- Generate Staking Keys and Address from a 12 Words Exodus Mnemonic
cardano-signer keygen --exodus-stake \
--mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
--vkey-extended \
--json-extended \
--out-skey exodus-stake.skey \
--out-vkey exodus-stake.vkey \
--out-addr exodus-stake.addr
{
"workMode": "keygen-exodus-stake",
"derivationPath": "44H/1815H/0H/0/0",
"derivationType": "exodus",
"mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
"rootKey": "accd0791e0bc4a413341dce5581756116f7625053b2210e5113b9f9d3ae67206f339779a7e87058ca766e82afb6264c8cac0c91cc240fa321ac930a2f8812879",
"address": "stake1u8lmaxquegnnaphzajfxuf558v2whq48zucfz06zyn7sguskwah03",
"secretKey": "c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
"publicKey": "b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
"output": {
"skey": {
"type": "StakeExtendedSigningKeyShelley_ed25519_bip32",
"description": "Exodus Stake Signing Key",
"cborHex": "5880c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
},
"vkey": {
"type": "StakeExtendedVerificationKeyShelley_ed25519_bip32",
"description": "Exodus Stake Verification Key",
"cborHex": "5840b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
}
}
}
This has now generated three new files in the directory:
exodus-stake.skey
: Thats your staking secret keyexodus-stake.vkey
: Thats your staking verification keyexodus-stake.addr
: Thats your staking addressstake1...
You can now use them to do all kinds of stuff, for example: Claim MIDNIGHT tokens on the Glacier Drop Portal.
Example Usage 2:
- Generate Payment Keys and Address from a 12 Words Exodus Mnemonic
cardano-signer keygen --exodus \
--mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
--vkey-extended \
--json-extended \
--out-skey exodus-payment.skey \
--out-vkey exodus-payment.vkey \
--out-addr exodus-payment.addr
{
"workMode": "keygen-exodus",
"derivationPath": "44H/1815H/0H/0/0",
"derivationType": "exodus",
"mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
"rootKey": "accd0791e0bc4a413341dce5581756116f7625053b2210e5113b9f9d3ae67206f339779a7e87058ca766e82afb6264c8cac0c91cc240fa321ac930a2f8812879",
"address": "addr1q8lmaxquegnnaphzajfxuf558v2whq48zucfz06zyn7sguhlh6vpej3886rw9myjdcnfgwc5awp2w9esjyl5yf8aq3eqtyappk",
"secretKey": "c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
"publicKey": "b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c",
"output": {
"skey": {
"type": "PaymentExtendedSigningKeyShelley_ed25519_bip32",
"description": "Exodus Payment Signing Key",
"cborHex": "5880c0a2a175a2db89d255c16aedad05c96db7d49dd3489587b7993ad4adcd8c5a541d4241482414df99516684692923f9857f671903fa4ff4c78f482406c7126e69b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
},
"vkey": {
"type": "PaymentExtendedVerificationKeyShelley_ed25519_bip32",
"description": "Exodus Payment Verification Key",
"cborHex": "5840b18f97e64d80b9427cc0dea20a8d69d1511bc21debfe178f10ce1477f018920b9c7f4998398abb9eb76a0009a47b11b032c472f83636b51acef5bbf56ba8596c"
}
}
}
This has now generated three new files in the directory:
exodus-payment.skey
: Thats your payment secret keyexodus-payment.vkey
: Thats your payment verification keyexodus-payment.addr
: Thats your payment base addressaddr1...
You can now use them to do all kinds of stuff, for example: Claim MIDNIGHT tokens on the Glacier Drop Portal.
cardano-signer 1.29.0 (Byron-Edition)
Release Notes / Change-Logs since 1.27.0
Key-Generation: Full Daedalus & Yoroi Byron Era Support 🥳
This update brings full Byron-Era features to the keygen
function. You can now:
-
Generate the Root/Child Private- and Public-Keys from old 12 word Daedalus Byron mnemonics and a given Path like
0H/0H
-
Generate the Root/Child Private- and Public-Keys for old 15 word Yoroi Byron mnemonics and a given Path like
44H/1815H/0H/0/0
-
Generate the corresponding Byron-Addresses like ' DDz...' and 'Ae2...'
-
Write the generated Address to an Address-File via the
--out-addr
parameter
As the derivation path for Byron Daedalus wallets are totally random, this update also includes
- Auto derivation-path decryption from a given Daedalus-Address.
With this update, you can generate your private and public key of your old Byron/Yoroi Daedalus Wallet. If you have the mnemonics and you provide the address itself via the --address
parameter, the correct derivation path will be calculated automatically.
All functions were coded in step-by-step style to have a reference code for other devs.
ℹ️ This update enables users of older Byron-Wallets to manually sign the Midnight NIGHT Claim challenge.
Key-Generation; Mnemonics from File
- You can now specify a filename that should be used to read out the mnemonics. Before you had to provide them directly as a string.
Other changes
-
There is a new flag for the
sign
functions in cardano-signer. You can specify--signature-only
for the plaintext stdout so only the signature would be output. Normally also the public key is printed. This makes it even easier for 3rd party tools calling cardano-signer that just need the signature. -
❗ BREAKING: The
keygen
function to generate dRep-Keys is now generating the newer CIP129 dRep-ID by default. The json-extended output also contains the legacy CIP105 version too.

Byron functions examples:
- Generate Private and Public Keys for a 12 Words Daedalus Mnemonic and a given Path
cardano-signer keygen --byron \
--mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
--path 12H/5H \
--vkey-extended \
--json-extended \
--out-skey byron-daedalus.skey \
--out-vkey byron-daedalus.vkey \
--out-addr byron-daedalus.addr
{
"workMode": "keygen-byron",
"derivationPath": "12H/5H",
"derivationType": "byron",
"mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
"rootKey": "f807b0ec4df3cf717b187c726e5cb3d446b7aa44ea159821da5c7ef1eac9f24c311b1dc66ee1f1b4bbb47cfc91d0d92ceb72441c43cc4b7fa4453d2c42478fa4df8409cb06bbdba84bbed8d6fb448e268ef6cde08a51a967d331bbfe7ad0b2db",
"rootPublicKey": "458d4abcddab65e9c83ecf6dfcfad74630d23b6ceb5f983905eb358a0cf09ba2df8409cb06bbdba84bbed8d6fb448e268ef6cde08a51a967d331bbfe7ad0b2db",
"address": "DdzFFzCqrhsjBoYZiM7FY1tLdzpH5M6cnMJuWdYXFaNmVPkgwFDkCpviM6s9NmgWzZ8HzitHMym2CUsncbRsWFJ5iLP79NF6ms4Lkegx",
"secretKey": "f879fc16714aaa499f13dbbbdd1f6498dd307b0503df98226bc5de32cb7a930d9139817877036ace9ebf5089d4be256cfdf32b4bd5d7c71e3f96f40dafdbe7b4a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4",
"publicKey": "a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4",
"output": {
"skey": {
"type": "PaymentSigningKeyByron_ed25519_bip32",
"description": "Payment Signing Key",
"cborHex": "5880f879fc16714aaa499f13dbbbdd1f6498dd307b0503df98226bc5de32cb7a930d9139817877036ace9ebf5089d4be256cfdf32b4bd5d7c71e3f96f40dafdbe7b4a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4"
},
"vkey": {
"type": "PaymentVerificationKeyByron_ed25519_bip32",
"description": "Payment Verification Key",
"cborHex": "5840a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4"
}
}
}
- Generate Private and Public Keys from a 12 Words Daedalus Mnemonic and a given Address with AutoPathDecryption
cardano-signer keygen --byron \
--mnemonics "angle segment economy real desk escape educate spice any hood debate pen" \
--address "DdzFFzCqrhsjBoYZiM7FY1tLdzpH5M6cnMJuWdYXFaNmVPkgwFDkCpviM6s9NmgWzZ8HzitHMym2CUsncbRsWFJ5iLP79NF6ms4Lkegx" \
--vkey-extended \
--json-extended \
--out-skey byron-daedalus.skey \
--out-vkey byron-daedalus.vkey \
--out-addr byron-daedalus.addr
{
"workMode": "keygen-byron",
"derivationPath": "12H/5H", <-- auto-decrypted
"derivationType": "byron",
"mnemonics": "angle segment economy real desk escape educate spice any hood debate pen",
"rootKey": "f807b0ec4df3cf717b187c726e5cb3d446b7aa44ea159821da5c7ef1eac9f24c311b1dc66ee1f1b4bbb47cfc91d0d92ceb72441c43cc4b7fa4453d2c42478fa4df8409cb06bbdba84bbed8d6fb448e268ef6cde08a51a967d331bbfe7ad0b2db",
"rootPublicKey": "458d4abcddab65e9c83ecf6dfcfad74630d23b6ceb5f983905eb358a0cf09ba2df8409cb06bbdba84bbed8d6fb448e268ef6cde08a51a967d331bbfe7ad0b2db",
"address": "DdzFFzCqrhsjBoYZiM7FY1tLdzpH5M6cnMJuWdYXFaNmVPkgwFDkCpviM6s9NmgWzZ8HzitHMym2CUsncbRsWFJ5iLP79NF6ms4Lkegx",
"secretKey": "f879fc16714aaa499f13dbbbdd1f6498dd307b0503df98226bc5de32cb7a930d9139817877036ace9ebf5089d4be256cfdf32b4bd5d7c71e3f96f40dafdbe7b4a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4",
"publicKey": "a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4",
"output": {
"skey": {
"type": "PaymentSigningKeyByron_ed25519_bip32",
"description": "Payment Signing Key",
"cborHex": "5880f879fc16714aaa499f13dbbbdd1f6498dd307b0503df98226bc5de32cb7a930d9139817877036ace9ebf5089d4be256cfdf32b4bd5d7c71e3f96f40dafdbe7b4a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4"
},
"vkey": {
"type": "PaymentVerificationKeyByron_ed25519_bip32",
"description": "Payment Verification Key",
"cborHex": "5840a73936848682069c6d7b5cd9400023769d2e2940568226e0e170a28dbcf4bfed6fa64abdf8eef4a7e19eebf56973c9a5e739ec20af7eed67ed4e13ced423d4f4"
}
}
}
- Generate Private and Public Keys from a 15 Words Yoroi Mnemonic and a given Path
cardano-signer keygen --yoroi \
--mnemonics "attack turn stick clinic quantum typical hour monitor panther marine jeans unit float final office" \
--path 44H/1815H/0H/0/0 \
--vkey-extended \
--json-extended \
--out-skey byron-yoroi.skey \
--out-vkey byron-yoroi.vkey \
--out-addr byron-yoroi.addr
{
"workMode": "keygen-yoroi",
"derivationPath": "44H/1815H/0H/0/0",
"derivationType": "icarus",
"mnemonics": "attack turn stick clinic quantum typical hour monitor panther marine jeans unit float final office",
"rootKey": "08e056419bcab3fe5a74595369d1097a7d676dec8a9dd713a9c1271ecedc3b5a6149498632b10a19a3aab72f6f0b41aab7bba8acb1cf53f21539952e9f96c89b70d5ba78a647366e6bc1e2a91fceb0dbe09e0db6cf2cfbbf2ec1a85aee3d98c5",
"address": "Ae2tdPwUPEZKGwNPLJTp1Aj7gqUUrHPbmUnEExz2eSLwD4CvJzvKHWBGsZL",
"secretKey": "f87521e63dbc00062059ffbd5dd7b7241c1996ec61f61a98c6fdc06ae0dc3b5abdd20324fe786ae12b78116ef9838248b08c3d0a92f4a111717705d9bd1f6ecff4bf16dd8448f44d240d9337e030c0b6ba4f41e17bb3f32dfc063a9bfbd9cb25157b7caa081f8760686b6f92102bde3e1e5e0d238c54f68021cf2fb15e7da584",
"publicKey": "f4bf16dd8448f44d240d9337e030c0b6ba4f41e17bb3f32dfc063a9bfbd9cb25157b7caa081f8760686b6f92102bde3e1e5e0d238c54f68021cf2fb15e7da584",
"XpubKeyHex": "cbf2152f3d09af4d9b0e38fef39da890cd422bb08fc9b1923bf673e5f097bc720cb0568075c0edd8e938428a2f8f341065be44662e89212133ab87659a24392e",
"XpubKeyBech": "xpub1e0ep2teapxh5mxcw8rl088dgjrx5y2as3lymry3m7ee7tuyhh3eqevzksp6upmwcayuy9z303u6pqed7g3nzazfpyye6hpm9ngjrjts7kwwt8",
"output": {
"skey": {
"type": "PaymentSigningKeyByron_ed25519_bip32",
"description": "Payment Signing Key",
"cborHex": "5880f87521e63dbc00062059ffbd5dd7b7241c1996ec61f61a98c6fdc06ae0dc3b5abdd20324fe786ae12b78116ef9838248b08c3d0a92f4a111717705d9bd1f6ecff4bf16dd8448f44d240d9337e030c0b6ba4f41e17bb3f32dfc063a9bfbd9cb25157b7caa081f8760686b6f92102bde3e1e5e0d238c54f68021cf2fb15e7da584"
},
"vkey": {
"type": "PaymentVerificationKeyByron_ed25519_bip32",
"description": "Payment Verification Key",
"cborHex": "5840f4bf16dd8448f44d240d9337e030c0b6ba4f41e17bb3f32dfc063a9bfbd9cb25157b7caa081f8760686b6f92102bde3e1e5e0d238c54f68021cf2fb15e7da584"
}
}
}
cardano-signer 1.27.0
Release Notes / Change-Logs
- 1.27.0
Critical Update - CIP100 Signing / Verification / Canonization
-
Critical update to enforce "safeMode = true" for the jsonld canonization used in governance metadata. Operations like signing, verification or canonization will now fail with an error if there is data drop in the canonized body. Before the default was set to "false", which could have led to a wrong canonized body under certain circumstances with silently dropping the error.
-
There is a new flag
--disable-safemode
to switch this jsonld mode off (not recommended)
cardano-signer 1.26.0
Release Notes / Change-Logs
Key-Generation
- Two new output options were added to the
keygen
function:--out-id <filename>
writes out the generated pool/cc-hot/cc-cold/calidus or drep-id to a file.--out-mnemonics <filename>
writes out the used mnemonic words to a file for later usage.
Breaking changes
- The secret/signing key is no longer automatically exported using the
--json-extended
output format in all function except thekeygen
function. This was removed to enhance security. If you wanna have the secret key included like before, you can do so by adding the new flag--include-secret
.
cardano-signer 1.25.0
Release Notes / Change-Logs
CIP8/30 Updates
- The CIP8/30 verification function got a bit of a code clean up, reencoding the
protected_header
into cbor hex only if needed. - Using the
sign --cip8/30
function now also has the--include-maps
flag option. If set, the--json-extended
output contains the COSE maps too. This was available forverify --cip8/30
before.
CIP88v2/151 Calidus Updates
- Using the
verify --cip88
function now also has the--include-maps
flag option. If set, the--json-extended
output contains the COSE maps too.
CIP100 Author-Signing
- Its now possible to sign in
CIP-8
mode if the optional--address xxx
parameter is used:
cardano-signer sign --cip100 --data-file myUnsigned.json --secret-key xxx.skey --author-name "Its me!" --address xxx --out-file mySigned.json
Key-Generation
- Generating pool-keys via a set path
--path pool
or--path 1853H/1815H/0H/0H
now also includes the extended bech keys in the--json-extended
output:
"secretKeyBech": "pool_xsk1fzvvmh...", "publicKeyBech": "pool_vk1wc8mjku..."
- The
calidusIdHex
andcalidusIdBech
output is now only showing up if you generate calidus keys.
General Updates
- Code clean-up like optional start flags are now read from an array. Improved error messages. etc.
cardano-signer 1.24.3
Release Notes / Change-Logs
CIP-100 Author-Signing
- the generated output metadata json now always includes a NewLine/LineFeed at the end to make it more robust against re-opening in editors (fixes #4)
cardano-signer 1.24.2
Release Notes / Change-Logs
1.24.2
-
improved handling of integer key values when converting from json to cbor
-
default path 'payment' for keygen was broken (fixes #3)
cardano-signer 1.24.1
Release Notes / Change-Logs
1.24.1
CIP8/30 Updates
- The CIP8/30 verification function now handles all set keys in the
protected header
. In the past theprotected header
was rebuilt for internal verification using only thealg (map 1)
andaddress
key entry.
Which could have caused an issue if Signature-Generators add additional keys in theprotected header
, like the optionalkid (map 4)
entry.
Now cardano-signer handles the header as it is and only replaces entries in the address and kid keys if an optional verification address is provided. The protected header map is now also included in the--json-extended
output for theverify cip-8/30
command if you set the--include-maps
flag.
New Feature
- A new flag was introduced to also output the maps of the
Cose-Key
,Cose-Sign1
,protected header
andverification payload
CBOR data in a more friendly json format.
A typical output may look like below with--include-maps
enabled. The map representation is similar to the formatcardano-cli / CSL
is using for transaction-metadata. For example bytearrays are indicated by the prefix0x
followed by the hex values. All keys including numerical ones are stringified.
$ cardano-signer verify --cip8 \
--cose-sign1 84582aa201276761646472657373581d617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8a166686173686564f44b68656c6c6f20776f726c6458407339b6beebc3aeda90228ba89f8ae55c4e61b2b9a98f65e6e66bf9ba91987053296e2dfaedcbe90c5fb97a3493bde3d22e7e3fbb64a7ddb7eb3da5b78b985200 \
--cose-key a4010103272006215820755b017578b701dc9ddd4eaee67015b4ca8baf66293b7b1d204df426c0ceccb9 \
--json-extended \
--include-maps
{
"workMode": "verify-cip8",
"result": "true",
"addressHex": "617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8",
"addressType": "payment enterprise",
"addressNetwork": "mainnet",
"payloadDataHex": "68656c6c6f20776f726c64",
"isHashed": "false",
"verifyDataHex": "846a5369676e617475726531582aa201276761646472657373581d617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8404b68656c6c6f20776f726c64",
"signature": "7339b6beebc3aeda90228ba89f8ae55c4e61b2b9a98f65e6e66bf9ba91987053296e2dfaedcbe90c5fb97a3493bde3d22e7e3fbb64a7ddb7eb3da5b78b985200",
"publicKey": "755b017578b701dc9ddd4eaee67015b4ca8baf66293b7b1d204df426c0ceccb9",
"maps": {
"COSE_Key": {
"1": 1,
"3": -8,
"-1": 6,
"-2": "0x755b017578b701dc9ddd4eaee67015b4ca8baf66293b7b1d204df426c0ceccb9"
},
"COSE_Sign1": [
"0xa201276761646472657373581d617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8",
{
"hashed": false
},
"0x68656c6c6f20776f726c64",
"0x7339b6beebc3aeda90228ba89f8ae55c4e61b2b9a98f65e6e66bf9ba91987053296e2dfaedcbe90c5fb97a3493bde3d22e7e3fbb64a7ddb7eb3da5b78b985200"
],
"verifyData": [
"Signature1",
"0xa201276761646472657373581d617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8",
"0x",
"0x68656c6c6f20776f726c64"
],
"protectedHeader": {
"1": -8,
"address": "0x617863b5c43bdf0a06608abc82f0573a549714ff69166074dcdde393d8"
}
}
}