Aktualizacja oprogramowania sprzętowego#

Ten przewodnik opisuje jak zaktualizować firmware na Nitrokey 3.

Ostrzeżenie

Ten przewodnik jest nadal w fazie eksperymentalnej!

Ważne

Aktualizacja może doprowadzić do utraty danych, dlatego upewnij się, że masz włączone odpowiednie zapasowe metody logowania i/lub upewnij się, że Nitrokey Pro nie jest jedynym sposobem uwierzytelniania/2FA dla Twoich aplikacji/usług.

Jak zaktualizować#

Ważne

Nigdy nie odłączaj Nitrokey 3 ani nie przerywaj procesu podczas aktualizacji, ponieważ w ten sposób Twoje urządzenie może stać się bezużyteczne!

  1. Upewnij się, że masz zainstalowaną najnowszą ` wersję pynitrokey`, sprawdź instrukcje instalacji dla swojego systemu operacyjnego.

  2. Pobierz najnowszy, stabilny ` obraz oprogramowania układowego <https://github.com/Nitrokey/nitrokey-pro-firmware/releases>`__.

Ważne

Do użytku produkcyjnego należy wybrać najnowszą stabilną wersję (czyli tylko wersje, które nie zawierają np. „pre-release” lub „RC”).

  1. Aby zastosować aktualizację, należy uruchomić program:

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

Alternatywna metoda aktualizacji#

Alternatywnie do aktualizacji firmware’u można użyć dfu-util:

  1. Zainstaluj dfu-util

Pliki binarne dla systemu Windows są dostępne pod adresem:
Dla systemu macOS binaria są dostępne przez Homebrew:

Tylko dla systemu macOS: Zainstaluj dfu-util przez Homebrew.

brew install dfu-util
  1. Użyj aplikacji Nitrokey App v1.5-RC7 lub wyższej, aby zmienić tryb uruchamiania Nitrokey Pro na tryb aktualizacji.

  2. Teraz wykonaj następujące polecenie, aby zastosować aktualizację

$ dfu-util -D update_binary.bin
  1. Tryb uruchamiania można teraz zmienić ponownie za pomocą aplikacji Nitrokey.

Rozwiązywanie problemów#

Issue: libnitrokey nie można było znaleźć.

Jeśli libnitrokey nie zostanie znaleziony automatycznie, ścieżkę do niego można podać za pomocą zmiennej env:

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

Aby znaleźć libnitrokey w swoim systemie, użyj polecenia:

$ locate libnitrokey.so
Problem: Dostaję permission denied for /dev/hidrawX podczas aktualizacji.

To prawdopodobnie oznacza, że użytkownik nie ma wymaganych uprawnień do odczytu i zapisu urządzenia. Upewnij się, że skonfigurowałeś poprawne udev-rules. Pobierz ten zestaw udev-rules i umieść go w swoim katalogu udev rules (np. /etc/udev/rules.d). Następnie wyjmij Nitrokey 3 z gniazda USB i uruchom: udevadm control --reload-rules && udevadm trigger lub zrestartuj komputer. Po tym aktualizacja powinna działać bez problemu z uprawnieniami.