Firmware-Update

Diese Anleitung beschreibt, wie Sie die Firmware des Nitrokey Pro aktualisieren können.

Warnung

Dieser Leitfaden befindet sich noch in einem experimentellen Stadium!

Bemerkung

Updates sind nur mit der Firmware-Version 0.11 und neuer möglich.

Wichtig

Eine Aktualisierung kann zu Datenverlusten führen. Stellen Sie daher sicher, dass Sie geeignete Backup-Anmeldemethoden aktiviert haben und/oder sicherstellen, dass der Nitrokey Pro nicht die einzige Möglichkeit zur Authentifizierung/2FA für Ihre Anwendungen/Dienste ist.

Wie aktualisieren

Wichtig

Trennen Sie niemals die Verbindung zum Nitrokey Pro oder brechen Sie den Vorgang während der Aktualisierung ab, dies wird Ihr Gerät wahrscheinlich unbrauchbar machen!

  1. Vergewissern Sie sich, dass Sie die neueste pynitrokey Version installiert haben, bitte prüfen Sie die Installationsanleitung für Ihr Betriebssystem.

  2. Laden Sie das neueste stabile Firmware-Image herunter.

    Wichtig

    Für den produktiven Einsatz sollten Sie die letzte stabile Version wählen (also nur Versionen, die nicht z.B. „pre-release“ oder „RC“ enthalten).

  3. Zum Anwenden der Aktualisierung führen Sie den Befehl aus:

$ nitropy pro enable-update
$ nitropy pro update nitrokey-pro-firmware-<version>.bin

Alternative Aktualisierungsmethode

Alternativ kann auch dfu-util für das Firmware-Update verwendet werden:

  1. dfu-util installieren

    Binaries for Windows are available at: * http://dfu-util.sourceforge.net/releases/

    Für macOS sind die Binärdateien über Homebrew verfügbar: * https://formulae.brew.sh/formula/dfu-util

    nur macOS: Installieren Sie dfu-util über Homebrew

    brew install dfu-util
    
  2. Verwenden Sie die Nitrokey App v1.5-RC7 oder höher, um den Boot-Modus des Nitrokey Pro in den Update-Modus zu ändern.

  3. Führen Sie nun folgenden Befehl aus, um das Update anzuwenden

    $ dfu-util -D update_binary.bin
    
  4. Der Bootmodus kann nun mit der Nitrokey App wieder zurückgeschaltet werden.

Fehlersuche

Ausgabe: libnitrokey konnte nicht gefunden werden.

Falls libnitrokey nicht automatisch gefunden wird, kann der Pfad dazu mit der env.-Variable angegeben werden:

$ env LIBNK_PATH=/libnk/path/libnitrokey.so nitropy pro enable-update

Um libnitrokey auf Ihrem System zu finden, verwenden Sie:

$ locate libnitrokey.so

Linux Berechtigungsfehler

Problem: Ich erhalte permission denied for /dev/hidrawX während der Aktualisierung.

Dies bedeutet wahrscheinlich, dass Ihr Benutzer nicht die erforderlichen Rechte zum Lesen/Schreiben des Geräts hat. Bitte stellen Sie sicher, dass Sie die richtigen udev-rules eingerichtet haben. Laden Sie dieses udev-rules Set herunter und legen Sie es in Ihrem udev rules Verzeichnis ab (z.B. /etc/udev/rules.d). Entfernen Sie dann Ihren Nitrokey Pro aus dem USB-Steckplatz und führen Sie aus: udevadm control --reload-rules && udevadm trigger oder starten Sie Ihren Rechner neu. Danach sollte das Update ohne das Berechtigungsproblem funktionieren.