固件更新#

(Nitrokey Pro 2 - Linux)

本指南介绍了如何更新Nitrokey 3的固件。

警告

本指南仍处于实验状态!

重要

更新可能导致数据丢失,所以要确保你启用了适当的备份登录方法,并/或确保Nitrokey Pro不是你的应用程序/服务的唯一认证/2FA方式。

如何更新#

重要

在更新过程中,千万不要断开Nitrokey 3的连接或中止进程,这很可能会使你的设备失去作用。

  1. 确保你已经安装了最新的`pynitrokey`版本,请查看<https://github.com/Nitrokey/pynitrokey#installation>`_针对你的操作系统的`安装说明。

  2. 下载最新的稳定`固件镜像<https://github.com/Nitrokey/nitrokey-pro-firmware/releases>`_。

重要

对于生产使用,你应该选择最新的稳定版本(所以只有不包含 “预发布 “或 “RC “的版本)。

  1. 要应用该更新,请运行。

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

替代更新方法#

或者可以使用 dfu-util 来进行固件更新。

  1. 安装dfu-util

用于Windows的二进制文件可在以下网站获得。
对于macOS,二进制文件可通过Homebrew获得。

*只限于macOS:*通过Homebrew安装`dfu-util`。

brew install dfu-util
  1. 使用Nitrokey App v1.5-RC7或更高版本,将Nitrokey Pro的启动模式改为更新模式。

  2. 现在用以下命令来应用更新

$ dfu-util -D update_binary.bin
  1. 现在可以通过Nitrokey应用程序再次改变启动模式。

故障排除#

问题: ``libnitrokey``不能被发现。

如果不能自动找到libnitrokey,可以用环境变量提供它的路径。

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

要在你的系统上找到libnitrokey,请使用。

$ locate libnitrokey.so
**问题:**我在更新时得到``permission denied for /dev/hidrawX``。

这可能意味着你的用户没有必要的权限来读写设备。请确认你已经设置了正确的`udev-rules`_。下载这个`udev-rules`_集,并把它放在你的udev规则目录中(例如,/etc/udev/rules.d)。然后从USB插槽中取出你的Nitrokey 3并运行。``udevadm control –reload-rules && udevadm trigger``或者重新启动你的机器。之后,更新应该可以工作,没有权限问题。