ファームウェアの更新#
本書では、Nitrokey Proのファームウェアをアップデートする方法について説明します。
警告
このガイドはまだ実験段階です
重要
アップデートするとデータが失われる可能性がありますので、バックアップのログイン方法を適切に設定するか、アプリケーション/サービスの認証/2FAの方法がNitrokey Proだけでないことを確認してください。
アップデート方法#
重要
アップデート中にNitrokey Proの接続を解除したり、プロセスを中断したりしないでください。
最新の`pynitrokey` バージョンがインストールされていることを確認してください。お使いのOSの インストール手順 を確認してください。
最新の安定版`firmware image <https://github.com/Nitrokey/nitrokey-pro-firmware/releases>`__ をダウンロードします。
重要
実稼働環境では、最新の安定版(つまり、"pre-release" や "RC" を含まないバージョン)を選択する必要があります。
アップデートを適用するために実行します。
$ nitropy pro enable-update
$ nitropy pro update nitrokey-pro-firmware-<version>.bin
代替アップデート方法#
また、ファームウェアのアップデートには dfu-util を使用することができます。
dfu-utilのインストール
- Windows用のバイナリは、以下のサイトで入手できます。
- macOSの場合は、Homebrew経由でバイナリを入手できます。
macOS のみ: Homebrew 経由で dfu-util をインストールする。
brew install dfu-util
Nitrokey App v1.5-RC7以降を使用して、Nitrokey Proのブートモードをアップデートモードに変更します。
ここで、以下のコマンドを実行して、アップデートを適用します。
$ dfu-util -D update_binary.bin
Nitrokeyアプリで起動モードを再び変更することができるようになりました。
トラブルシューティング#
- 問題:
libnitrokey
は見つかりませんでした。 libnitrokeyが自動的に見つからない場合は、env.変数でパスを指定することができます。
$ 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 rules ディレクトリに置いてください (例:
/etc/udev/rules.d
).次に、Nitrokey Pro を USB スロットから取り出して、実行します。udevadm control --reload-rules && udevadm trigger
を実行するか、マシンをリブートします。その後、更新はパーミッションの問題なく動作するはずです。