Обновление микропрограммы

В этом руководстве описано, как обновить микропрограмму на Nitrokey Pro.

Предупреждение

Это руководство все еще находится в экспериментальном состоянии!

Примечание

Обновления возможны только для прошивки версии 0.11 и новее.

Важно

Обновление может привести к потере данных, поэтому убедитесь, что у вас включены соответствующие резервные методы входа в систему и/или убедитесь, что Nitrokey Pro не является единственным способом аутентификации/2FA для ваших приложений/сервисов.

Как обновить

Важно

Никогда не отключайте Nitrokey Pro и не прерывайте процесс во время обновления, это может сделать ваше устройство бесполезным!

  1. Убедитесь, что у вас установлена последняя версия pynitrokey, пожалуйста, проверьте инструкции по установке для вашей ОС.

  2. Загрузите последний стабильный ` образ прошивки <https://github.com/Nitrokey/nitrokey-pro-firmware/releases>`__.

    Важно

    Для производственного использования вы должны выбрать последнюю стабильную версию (то есть только те версии, которые не содержат «pre-release» или «RC»).

  3. Чтобы применить обновление, выполните следующие действия:

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

Альтернативный метод обновления

В качестве альтернативы для обновления прошивки можно использовать dfu-util:

  1. Установите dfu-util

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

    For macOS binaries are available via Homebrew: * https://formulae.brew.sh/formula/dfu-util

    только для macOS: Установите dfu-util через Homebrew

    brew install dfu-util
    
  2. Используйте приложение Nitrokey App v1.5-RC7 или выше, чтобы изменить режим загрузки Nitrokey Pro на режим обновления.

  3. Теперь выполните следующую команду для применения обновления

    $ dfu-util -D update_binary.bin
    
  4. Теперь режим загрузки можно снова изменить с помощью приложения Nitrokey.

Устранение неполадок

Выпуск: libnitrokey не удалось найти.

Если libnitrokey не удалось найти автоматически, путь к нему можно указать с помощью переменной env:

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

Чтобы найти libnitrokey в вашей системе, используйте:

$ locate libnitrokey.so

Ошибка разрешения в Linux

Проблема: Я получаю permission denied for /dev/hidrawX во время обновления.

Это, скорее всего, означает, что у вашего пользователя нет необходимых прав на чтение/запись устройства. Убедитесь, что вы установили правильные udev-rules. Скачайте этот набор udev-rules и поместите его в каталог правил udev (например, /etc/udev/rules.d). Затем извлеките Nitrokey Pro из USB-разъема и запустите: udevadm control --reload-rules && udevadm trigger или перезагрузите машину. После этого обновление должно работать без проблем с разрешениями.