Solokey v1
Install Solokey CLI (v1) tool
Create Python environment for solokey
SOLO_ROOT=~/git/vendor/solokeys
(set -e
git clone https://github.com/solokeys/solo1-cli \
${SOLO_ROOT}/solo1-cli
)
Lock Fido2 version to 0.9.1 to fix outstanding bugs
Double check if these outstanding bugs are still open:
- https://github.com/solokeys/solo1-cli/issues/151
- https://github.com/solokeys/solo1-cli/discussions/156
Both of these are related to Fido2 v1.0.0. If you lock the version to the last known good version of 0.9.1, it will work:
sed -i 's/fido2 >= 0.9.1/fido2 == 0.9.1/' ${SOLO_ROOT}/solo1-cli/pyproject.toml
Build solo1 key environment
python -m venv ${SOLO_ROOT}/env
${SOLO_ROOT}/env/bin/pip3 install -e ${SOLO_ROOT}/solo1-cli
Create solo alias
You can add this alias to your ~/.bashrc or ~/.bashrc.local:
alias solo1=${HOME}/git/vendor/solokeys/env/bin/solo1
Restart your shell to load the new alias.
Update your Solokey (v1)
Plug your solokey into the USB port
Identify your solokey
solo1 ls
:: Solos AABBCC00112233: SoloKeys Solo 4.1.5
Update the firmware
Check for the latest release of solo v1 and compare it to the version
that is reported by solo ls. If your solokey is not running the
latest version, it is recommended to update it.
Enter bootloader mode:
solo1 program aux enter-bootloader
The solokey should now be rapidly flashing to indicate it is in boot loader mode.
Update the firmware:
solo1 key update
... Congratulations, your key was updated to the latest firmware version: 4.1.5
Program your Solokey (v1)
Reset solokey (recommended first time only)
This will wipe all identity from the solokey device!
solo1 key reset
Set device PIN
solo1 key set-pin
This will only work if the device does not already have a pin (which is the state it is in after a reset).
If you want to change the PIN which was already set:
solo1 key change-pin
Verify PIN
solo1 key verify
PIN: Please press the button on your Solo key Register valid Valid Solo with firmware from SoloKeys.