Skip to content

Commit

Permalink
Merge pull request #106 from selfcustody/message-signing
Browse files Browse the repository at this point in the history
Add message signing feature and tweak firmware sig verification
  • Loading branch information
Jeff authored Mar 21, 2022
2 parents e80f5d4 + e4d14a9 commit 2888dc3
Show file tree
Hide file tree
Showing 27 changed files with 542 additions and 377 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
with:
context: .
push: false
tags: jreesun/krux-builder:latest
tags: selfcustody/krux-builder:latest
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Move cache
Expand Down
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,17 @@ sitemap.xml.gz
*.bin
*.bin.sig
*.bin.sha256.txt
kboot.kfpkg
*.kfpkg
*.kfpkg.sig
*.kfpkg.sha256.txt
*.zip
*.zip.sig
*.zip.sha256.txt
memzip-files.c
memzip-files.zip
.coverage
privkey.pem
pubkey.pem

!tests/firmware-v0.0.0.bin
!tests/firmware-v0.0.0.bin.badsig
Expand Down
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,11 @@ RUN pip3 install astor

FROM build-base as build-software
ARG DEVICE="maixpy_m5stickv"
COPY . /src
RUN mkdir /src
COPY ./LICENSE.md /src/LICENSE.md
COPY ./firmware /src/firmware
COPY ./src /src/src
COPY ./vendor /src/vendor
WORKDIR /src
RUN cd vendor/embit && pip3 install -e .
RUN mkdir build && \
Expand Down
4 changes: 4 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@ coverage:
default:
target: 100%
threshold: 5%
patch:
default:
target: 90%
threshold: 5%
25 changes: 0 additions & 25 deletions firmware/scripts/create_private_key.py

This file was deleted.

38 changes: 0 additions & 38 deletions firmware/scripts/derive_public_key.py

This file was deleted.

74 changes: 0 additions & 74 deletions firmware/scripts/sign.py

This file was deleted.

64 changes: 0 additions & 64 deletions firmware/scripts/verify_signature.py

This file was deleted.

30 changes: 18 additions & 12 deletions i18n/translations/de-DE.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
{
",": ".",
".": ",",
"%d of %d multisig": "%d von %d Multisig",
"%s\n\nis a valid receive address": "%s\n\nist eine gültige Empfangsadresse",
"%s\n\nwas NOT FOUND in the first %d receive addresses": "%s\n\nwurde in den ersten %d Empfangsadressen NICHT GEFUNDEN",
",": ".",
".": ",",
"About": "Über",
"BIP39 Mnemonic": "BIP39 Mnemonic",
"Back": "Zurückkehren",
"Backing up bootloader..\n\n%d%%": "Bootloader unterstützen..\n\n%d%%",
"Bad signature": "Ungültige Unterschrift",
"Baudrate\n%s": "Baudrate\n%s",
"BIP39 Mnemonic": "BIP39 Mnemonic",
"Check that address belongs to this wallet?": "Überprüfen Sie die Adresse dieser Wallet gehört?",
"Checked %d receive addresses with no matches.": "Überprüfte %d Empfängsadressen ohne Übereinstimmungen.",
"Checking receive address %d for match..": "Überprüfen der Empfängsadresse %d auf Übereinstimmung.",
"Continue?": "Fortsetzen?",
"DEBUG": "DEBUG",
"Debug": "Debug",
"DEBUG": "DEBUG",
"Del": "Del",
"Done?": "Fertig?",
"Enter each word of your BIP-39 mnemonic as a number from 1 to 2048.": "Geben Sie jedes Wort Ihrer BIP-39 Mnemonic als Zahl von 1 bis 2048 ein.",
"Enter each word of your BIP-39 mnemonic as a series of binary digits.": "Geben Sie jedes Wort Ihrer BIP-39 Mnemonic als Reihe von Binärziffern ein.",
"Enter each word of your BIP-39 mnemonic.": "Geben Sie jedes Wort Ihrer BIP-39 Mnemonic ein.",
"Error:\n%s": "Fehler:\n%s",
"Failed to load PSBT": "PSBT könnte nicht geladen werden",
"Extended Public Key": "Öffentlicher Schlüssel",
"Failed to load address": "Adresse könnte nicht geladen werden",
"Failed to load message": "Nachricht konnte nicht geladen werden",
"Failed to load mnemonic": "Mnemonic könnte nicht geladen werden",
"Failed to load PSBT": "PSBT könnte nicht geladen werden",
"Failed to load wallet": "Wallet könnte nicht geladen werden",
"Fee:\n₿%s": "Gebühr:\n₿%s",
"Fingerprint: %s\n\nDerivation: m%s\n\n%s": "Fingerabdruck: %s\n\nAbleitung: m%s\n\n%s",
Expand All @@ -44,6 +46,7 @@
"Locale": "Gebietsschema",
"Locale\n%s": "Gebietsschema\n%s",
"Log Level\n%s": "Protokollebene\n%s",
"Message": "Nachricht",
"Missing signature file": "Fehlende Signaturdatei",
"Mnemonic": "Mnemonic",
"Multisig": "Multisig",
Expand All @@ -56,31 +59,34 @@
"Printer": "Drucker",
"Printing\n%d / %d": "Drucken\n%d / %d",
"Proceed?": "Weitermachen?",
"Public Key (xpub)": "Öffentlicher Schlüssel (xpub)",
"PSBT": "PSBT",
"Public Key:\n\n%s": "Öffentlicher Schlüssel:\n\n%s",
"Roll %d": "Rolle %d",
"Roll die %d or %d times to generate a 12- or 24-word mnemonic, respectively.": "Rollen Sie %d oder %d Mal, um ein 12- oder 24-Wort-Mnemonic zu erzeugen.",
"Rolls:\n\n%s": "Rollen:\n\n%s",
"SHA256 of rolls:\n\n%s": "SHA256 von Rollen:\n\n%s",
"Scan Address": "Adresse\nscannen",
"Sending:\n₿%s\n\nTo:\n%s": "Senden:\n₿%s\n\nZu:\n%s",
"Settings": "Einstellungen",
"SHA256 of rolls:\n\n%s": "SHA256 von Rollen:\n\n%s",
"SHA256:\n%s\n\n\n\nSign?": "SHA256:\n%s\n\n\n\nUnterzeichnen?",
"Shutdown": "Abschalten",
"Shutting down..": "Herunterfahren..",
"Sign PSBT": "PSBT unterzeichnen",
"Sign?": "Unterzeichnen?",
"Sign": "Unterzeichnen",
"Signature:\n\n%s": "Unterschrift:\n\n%s",
"Single-key": "Single-key",
"Try more?": "Mehr versuchen?",
"Updating bootloader..\n\n%d%%": "Bootloader aktualisieren..\n\n%d%%",
"Upgrade complete.\n\nShutting down..": "Upgrade abgeschlossen.\n\nHerunterfahren..",
"Upgrading firmware..\n\n%d%%": "Firmware aktualisieren..\n\n%d%%",
"Via Bits": "Via Bits",
"Via D6": "Via D6",
"Via D20": "Via D20",
"Via D6": "Via D6",
"Via Numbers": "Via Nummern",
"Via QR Code": "Via QR Code",
"Via Text": "Via Text",
"WARNING:\nWallet not loaded.\n\nSome checks cannot be performed.": "WARNUNG:\nWallet nicht geladen.\n\nEinige Checks konnten nicht durchgeführt werden.",
"Wallet": "Wallet",
"Wallet not found.": "Wallet nicht gefunden.",
"Wallet": "Wallet",
"WARNING:\nWallet not loaded.\n\nSome checks cannot be performed.": "WARNUNG:\nWallet nicht geladen.\n\nEinige Checks konnten nicht durchgeführt werden.",
"Word %d": "Wort %d"
}
}
Loading

0 comments on commit 2888dc3

Please sign in to comment.