ラズパイのapt-get updateしたら、mosquittoで「GPG エラー: http://repo.mosquitto.org jessie InRelease: 以下の署名が無効です」が出たときの解決方法

いつものように、ラズパイにログインしてシステムをupdateしていたら、以下のようなエラーが発生してmosquittoが更新できませんでした。

W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: http://repo.mosquitto.org jessie InRelease: 以下の署名が無効です: KEYEXPIRED 1515017477 KEYEXPIRED 1515017477 KEYEXPIRED 1515017477
W: http://repo.mosquitto.org/debian/dists/jessie/InRelease の取得に失敗しました
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

結論

リポジトリの署名キーが2017年末で有効期限切れになっているのが原因でした。

解決するためには Mosquitto Debian repository のキーを更新しましょう。

方法

公式サイトの情報の通り、以下のコマンドを実行します。

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

その後、改めて更新すると問題無く更新できました!

sudo apt-get update
sudo apt-get upgrade

パチパチパチ(^o^)

debian の 鍵署名 (Keysigning) について

フリーソフトウェアの開発者が、ネット上で自分の存在を保証してもらうために使っている仕組みで、「信頼のネットワーク (Web of Trust)」が構築されています。

GPG (GNU Privacy Guard)
暗号化と電子署名を行うための仕組み。公開鍵暗号方式。

まとめ

ラズパイのmosquittoパッケージアップデートから、GPGという鍵署名を知るきっかけになりました!

参考