Aktualizacja oprogramowania sprzętowego#
Ten przewodnik opisuje jak zaktualizować firmware na Nitrokey 3.
Ostrzeżenie
Ten przewodnik jest nadal w fazie eksperymentalnej!
Informacja
Aktualizacje są możliwe tylko w przypadku oprogramowania sprzętowego w wersji 0.11 lub nowszej.
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!
Upewnij się, że masz zainstalowaną najnowszą ` wersję pynitrokey`, sprawdź instrukcje instalacji dla swojego systemu operacyjnego.
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”).
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:
Zainstaluj dfu-util
Pliki binarne dla systemu Windows są dostępne pod adresem: * http://dfu-util.sourceforge.net/releases/
Dla macOS binaria są dostępne przez Homebrew: * https://formulae.brew.sh/formula/dfu-util
Tylko dla systemu macOS: Zainstaluj dfu-util przez Homebrew.
brew install dfu-util
Użyj aplikacji Nitrokey App v1.5-RC7 lub wyższej, aby zmienić tryb uruchamiania Nitrokey Pro na tryb aktualizacji.
Teraz wykonaj następujące polecenie, aby zastosować aktualizację
$ dfu-util -D update_binary.bin
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
Sprawdź również, czy używasz właściwego miejsca na smartfonie.#
- 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.