Solokey v1

Install Solokey CLI (v1) tool

Create Python environment for solokey

[bash]: Run this on your workstation:
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

Warning

Double check if these outstanding bugs are still open:

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:

[bash]: Run this on your workstation:
sed -i 's/fido2 >= 0.9.1/fido2 == 0.9.1/' ${SOLO_ROOT}/solo1-cli/pyproject.toml

Build solo1 key environment

[bash]: Run this on your workstation:
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:

Edit this file: ~/.bashrc
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

[bash]: Run this on your workstation:
solo1 ls
(stdout)
:: 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:

[bash]: Run this on your workstation:
solo1 program aux enter-bootloader

The solokey should now be rapidly flashing to indicate it is in boot loader mode.

Update the firmware:

[bash]: Run this on your workstation:
solo1 key update
(stdout)
...
Congratulations, your key was updated to the latest firmware version: 4.1.5

Program your Solokey (v1)

Warning

This will wipe all identity from the solokey device!

[bash]: Run this on your workstation:
solo1 key reset

Set device PIN

[bash]: Run this on your workstation:
solo1 key set-pin
Tip

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:

[bash]: Run this on your workstation:
solo1 key change-pin

Verify PIN

[bash]: Run this on your workstation:
solo1 key verify
(stdout)
PIN:
Please press the button on your Solo key
Register valid
Valid Solo with firmware from SoloKeys.