Closed InfiniteQE closed 1 year ago
Hi @InfiniteQE,
It would seem that you are successfully building the app. The latest version of the app on GitHub is 1.4.0 but this is not fully tested or released yet. In version 1.4.0 I changed the name of the app from "SSKR Check" to "Seed Utils" to reflect the plans I have to expand the app into a general seed utility tool. Nonetheless, even with this name change the app should still work fine on a Ledger Nano S.
Here's a procedure I used to confirm that the most recent released version (1.3.2) works OK.
Have a look at the output of make -n load
command and you'll see that the actual command that make
runs is something like this:
python -m ledgerblue.loadApp --appFlags 0x10 --tlv --targetId 0x31100004 --targetVersion="2.1.0" --delete --fileName bin/app.hex --appName "SSKR Chack" --appVersion "1.3.2" --dataSize $((0x`cat debug/app.map |grep _envram_data | tr -s ' ' | cut -f2 -d' '|cut -f2 -d'x'` - 0x`cat debug/app.map |grep _nvram_data | tr -s ' ' | cut -f2 -d' '|cut -f2 -d'x'`)) `ICONHEX=\`python3 /opt/nanos-secure-sdk/icon3.py --hexbitmaponly glyphs/seed_nanos.gif 2>/dev/null\` ; [ ! -z "$ICONHEX" ] && echo "--icon $ICONHEX"` --curve secp256k1 --path ""
where:
--dataSize (usually = 0):
echo $((0x$(grep _envram_data debug/app.map | tr -s ' ' | cut -f2 -d' '| cut -f2 -dx) - 0x$(grep _nvram_data debug/app.map | tr -s ' ' | cut -f2 -d' '| cut -f2 -dx)))
--icon (usually = 0100000000ffffff00ffffffffffffffc3f1c1c3c083e107fb0fff3ffe7ffe7ffe7ffe7ffeffffffff):
python3 /opt/nanos-secure-sdk/icon3.py --hexbitmaponly glyphs/seed_nanos.gif 2>/dev/null
I use this command to manually download and install the latest released app as follows:
mkdir app-sskr-check-1.3.2
cd app-sskr-check-1.3.2
wget https://github.com/aido/app-sskr-check/releases/download/v1.3.2/compiled_app_binaries.v1_3_2.zip
unzip compiled_app_binaries.v1_3_2.zip
python -m ledgerblue.loadApp --appFlags 0x10 --tlv --targetId 0x31100004 --targetVersion="2.1.0" --delete --fileName nanos/bin/app.hex --appName "SSKR Chack" --appVersion "1.3.2" --dataSize 0 --icon 0100000000ffffff00ffffffffffffffc3f1c1c3c083e107fb0fff3ffe7ffe7ffe7ffe7ffeffffffff --curve secp256k1 --path ""
I did this on my Ledger Nano S with firmware version 2.1.0 and the app works as expected.
Note 1: I removed all other apps from the device before starting manual install procedure. Note 2: You do not need the ledger-app-builder container to run above procedure. You only need python-ledgerblue installed.
Hello,
I followed your steps for app-sskr-check-1.3.2
above, and confirm this works with my Ledger NanoS on Firmware SE 2.0.0, Microcontroller 1.12, Bootloader 0.11
Thank you
I did this on OSX11.7 Terminal, not parallels/debian this time, using the following string (I made changes to the target version, and appName
$ python3 -m ledgerblue.loadApp --appFlags 0x10 --tlv --targetId 0x31100004 --targetVersion="2.0.0" --delete --fileName nanos/bin/app.hex --appName "SSKR Check" --appVersion "1.3.2" --dataSize 0 --icon 0100000000ffffff00ffffffffffffffc3f1c1c3c083e107fb0fff3ffe7ffe7ffe7ffe7ffeffffffff --curve secp256k1 --path ""
Generated random root public key : b'0495ecd1ac8e610571147490aa5c6e8eb0290fccf54424f39fbb33a40e22cfc00e94fef5ef1366aa6cb71ac42f5e3ddb849ad0749e6b943c9b026e411f1cc8bba2'
Using test master key b'0495ecd1ac8e610571147490aa5c6e8eb0290fccf54424f39fbb33a40e22cfc00e94fef5ef1366aa6cb71ac42f5e3ddb849ad0749e6b943c9b026e411f1cc8bba2'
Using ephemeral key b'04aa2b8ed83df16efc3f8208a227f4f0fff9e5acf2b857115fb67214704fd0a40ad11f6e0bf6c9939ddb2dd580ca5b20490b5c134b325db55d68581368b08e6cf3'
Broken certificate chain - loading from user key
Application full hash : 85f9b16a2a1968bf97e7f898815c13dab8c3b0a26d92c03c871501f11498679d
On the NanoS SSKR Check
launches correctly (FW SE 2.0.0)
Prior to this, I first tried your instruction on my NanoS running older firmware (SE 1.6.0, Microcontroller 1.12) with the string
python3 -m ledgerblue.loadApp --appFlags 0x10 --tlv --targetId 0x31100004 --targetVersion="1.6.0" --delete --fileName nanos/bin/app.hex --appName "SSKR Check" --appVersion "1.3.2" --dataSize 0 --icon 0100000000ffffff00ffffffffffffffc3f1c1c3c083e107fb0fff3ffe7ffe7ffe7ffe7ffeffffffff --curve secp256k1 --path ""
On NanoS > Non-Genuine App > confirm Open Application == Frozen NanoS (fw 1.6.0)
Assuming the issue is minimum FW v2.0.0 required, then I now consider this issue to be resolved.
Not sure why the Application full hash is different, perhaps changing the targetVersion changed the hash ?
Hello
I have followed these steps and successfully compiled and loaded app-sskr-check on my NanoS (firmware SE 1.6.0, Microcontroller 1.12).
However after
BOLOS_SDK=$NANOS_SDK make load
running the new applicationSeed Utilities
freezes the NanoS.I used the same docker command
BOLOS_SDK=$NANOS_SDK make load
to uninstallSeed Utilities
off NanoS, then downloaded your github binaries, moved your NanoS files to~/Downloads/app-sskr-check/bin
and pasted the long
python -m ledgerblue.loadApp ....
frommake load
aboveThis successfully installed the github app on my NanoS, with the same result, it freezes on app launch.
Any suggestion as to how I fix this ? What version of NanoS Secure Element and Microcontroller firmware are you running ?