Intelligente Lösungen
in neuer Dimension

Ubuntu-20.04: Kommandozeilen-Tool für SoloKey

Für das Hardware-Token SoloKey gibt es das Kommandozeilen-Tool “solo-python”. Man benötigt es beispielsweise zum Aktualisieren der Firmware oder auch zum Setzen der PIN.

Diese Anleitung wurde erstellt mit Ubuntu-20.04 und einem SoloKey 4.1.1

Paketierung

Dieser Abschnitt ist für die meisten Nutzer uninteressant!

Das Kommandozeilen-Tool liegt leider par Standard nicht als reguläres Paket für Ubuntu vor. Ich erzeuge selbst eines:

  1. Quellen für solo-python von Debian herunterladen
    • solo-python_0.0.27-2.dsc
    • solo-python_0.0.27-2.debian.tar.xz
    • solo-python_0.0.27.orig.tar.gz
  2. Vergleich: Entspricht die *orig.tar.gz der Github-Datei? Ja!
  3. Auspacken und nachinstallieren aller Build-Anforderungen
    • debhelper-compat: 13 –> 12
    • flit gibt’s nicht bei Ubuntu
  4. Quellen für flit von Debian herunterladen
    • flit_3.0.0-1.dsc
    • flit_3.0.0-1.debian.tar.xz
    • flit_3.0.0.orig.tar.gz
  5. Auspacken und nachinstallieren aller Build-Anforderungen
  6. “flit” bauen: cd flit-3.0.0; dpkg-buildpackage
  7. flit.deb installieren
  8. solo-python bauen: Scheitert, weil pybuild keine Unterstützung für flit hat
  9. Quellen von dh-python von Debian herunterladen
    • dh-python_4.20201102.tar.xz
    • dh-python_4.20201102.dsc
  10. dh-python.deb installieren – geht nur, wenn alle Python2-Pakete deinstalliert sind!
  11. solo-python bauen: Klappt!

Einspielen

Bei uns im Team wird das Tool eingespielt mit

1
sudo apt install solo-python

Firmware aktualisieren

1
2
3
4
5
6
7
8
9
10
11
12
13
uli:~$ solo key update
Wrote temporary copy of firmware-4.1.1.json to /tmp/tmpfuumnqyl.json
sha256sums coincide: 45e7071107fa5acb494e4c5d4831344dd531b1a537a230a6157f4f71dba87e2c
Switching into bootloader mode...
Not using FIDO2 interface.
using signature version >2.5.3
erasing firmware...
updated firmware 100%             
time: 14.02 s
bootloader is verifying signature...
...pass!

Congratulations, your key was updated to the latest firmware version: 4.1.1

PIN setzen

1
2
3
uli:~$ solo key set-pin
Please enter new pin: 
Please confirm new pin:

Klappt nur, solange noch kein PIN gesetzt ist!

PIN ändern

1
2
3
4
5
uli:~$ solo key change-pin
Please enter old pin: 
Please enter new pin: 
Please confirm new pin: 
Done. Please use new pin to verify key

Historie und Anmerkung

  • 2021-02-18: Erste Version