お問い合わせはこちら
+81-80-2437-0232
hosokawa@dear-jpn.com

W: GPG エラー: http://repo.mysql.com jessie InRelease: 以下の署名が無効です: KEYEXPIRED…

いつもの調子で、apt-get update を叩いたら何やら考えこんだ後にタイトルに示したようなエラーが出力された。

W: GPG エラー: http://repo.mysql.com jessie InRelease: 以下の署名が無効です: KEYEXPIRED 1487236823 KEYEXPIRED 1487236823 KEYEXPIRED 1487236823

KEYEXPIREDなので、そのまんまキーの期限切れということなのだろう。

# apt-key list
/etc/apt/trusted.gpg
--------------------
pub   1024D/5072E1F5 2003-02-03 [満了: 2017-02-16]
uid                  MySQL Release Engineering <mysql-build@oss.oracle.com>

/etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg

というわけで、一週間ほど前に期限切れを迎えていたようだ。
上記の5072E1F5の公開キーの更新版をどこかからもらってくれば良さそうだ。
このエラーが出たのが、Debianなサーバだったので、Debianの「鍵署名 (Keysigning)」のページの内容にしたがって更新されているであろうキーをもらってくる。

~# gpg --keyserver keyring.debian.org --recv-keys 5072E1F5
gpg: requesting key 5072E1F5 from hkp server keyring.debian.org
gpgkeys: key 5072E1F5 can't be retrieved
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

ありゃ。見つからん。まぁオラクルのMySQLの鍵なのでそんなものかも。
さて、どこにあるのかな。
MySQLのサイトに情報があった。
The MySQL APT GPG key expired on Feb 16, 2017, making it impossible…

# apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.bqQToeiNEp --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
gpg: requesting key 5072E1F5 from hkp server pgp.mit.edu
gpg: key 5072E1F5: "MySQL Release Engineering " 62 new signatures
gpg: Total number processed: 1
gpg:         new signatures: 62

ここでは、キーにA4A9406876FCBD3C456770C88C718D3B5072E1F5を使っているようだが、先ほど探した短いやつ(5072E1F5)でも大丈夫らしい。

# apt-get update
Hit http://security.debian.org jessie/updates InRelease
Hit http://security.debian.org jessie/updates/main amd64 Packages                   
Hit http://security.debian.org jessie/updates/main Translation-en                   
Ign http://httpredir.debian.org jessie InRelease                                         
Get:1 http://repo.mysql.com jessie InRelease [23.9 kB]                               
Hit http://httpredir.debian.org jessie Release.gpg        
Hit http://httpredir.debian.org jessie Release
Get:2 http://repo.mysql.com jessie/mysql-5.6 Sources [877 B]
Hit http://httpredir.debian.org jessie/main amd64 Packages           
Get:3 http://repo.mysql.com jessie/mysql-apt-config amd64 Packages [565 B]
Hit http://httpredir.debian.org jessie/main Translation-en                               
Get:4 http://repo.mysql.com jessie/mysql-5.6 amd64 Packages [2758 B]
Hit http://httpredir.debian.org jessie/main Translation-ja                               
Get:5 http://repo.mysql.com jessie/mysql-tools amd64 Packages [1801 B]
Ign http://repo.mysql.com jessie/mysql-5.6 Translation-en                                                                                                                                                 
Ign http://repo.mysql.com jessie/mysql-5.6 Translation-ja
Ign http://repo.mysql.com jessie/mysql-apt-config Translation-en
Ign http://repo.mysql.com jessie/mysql-apt-config Translation-ja
Ign http://repo.mysql.com jessie/mysql-tools Translation-en
Ign http://repo.mysql.com jessie/mysql-tools Translation-ja
Fetched 29.9 kB in 37s (801 B/s)
Reading package lists... Done

うむ。問題出なくなった。