rpm は、配布元ディストリビュータの正当性を証明するためにパッケージに電子署名がなされています。配布元が定かでない rpm にトロイの木馬やウィルスが含まれている可能性もあります。
ユーザが正規のディストリビュータが配布したものだと認識し安心してインストール出来るようにこのような仕組みがなされているのです。
rpm -qi パッケージ名とすると Key ID の所に電子署名のキーが表示されます。
# rpm -qi httpd Name : httpd Version : 2.4.6 Release : 67.el7.centos.6 Architecture: x86_64 Install Date: 2017年12月12日 15時54分40秒 Group : System Environment/Daemons Size : 9827789 License : ASL 2.0 Signature : RSA/SHA256, 2017年10月20日 21時31分20秒, Key ID 24c6a8a7f4a80eb5 Source RPM : httpd-2.4.6-67.el7.centos.6.src.rpm Build Date : 2017年10月20日 05時41分19秒 Build Host : c1bm.rdu2.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.
CentOS7 のパブリックキーは、/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 に保存されており、yum コマンドを実行すると、以下のように自動でインポートされます。
# yum install パッケージ名 : file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-3.1611.el7.centos.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 上記の処理を行います。よろしいでしょうか? [y/N]
キーをインポートすると、gpg-pubkey というパッケージがインストールされます。
# rpm -q gpg-pubkey gpg-pubkey-f4a80eb5-53a7ff4b # rpm -qi gpg-pubkey Name : gpg-pubkey Version : f4a80eb5 Release : 53a7ff4b Architecture: (none) Install Date: 2017年12月12日 15時54分14秒 Group : Public Keys Size : 0 License : pubkey Signature : (none) Source RPM : (none) Build Date : 2014年06月23日 19時19分55秒 Build Host : localhost Relocations : (not relocatable) Packager : CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org> Summary : gpg(CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>) Description : -----BEGIN PGP PUBLIC KEY BLOCK----- Version: rpm-4.11.3 (NSS-3) mQINBFOn/0sBEADLDyZ+DQHkcTHDQSE0a0B2iYAEXwpPvs67cJ4tmhe/iMOyVMh9 Yw/vBIF8scm6T/vPN5fopsKiW9UsAhGKg0epC6y5ed+NAUHTEa6pSOdo7CyFDwtn 4HF61Esyb4gzPT6QiSr0zvdTtgYBRZjAEPFVu3Dio0oZ5UQZ7fzdZfeixMQ8VMTQ 4y4x5vik9B+cqmGiq9AW71ixlDYVWasgR093fXiD9NLT4DTtK+KLGYNjJ8eMRqfZ Ws7g7C+9aEGHfsGZ/SxLOumx/GfiTloal0dnq8TC7XQ/JuNdB9qjoXzRF+faDUsj WuvNSQEqUXW1dzJjBvroEvgTdfCJfRpIgOrc256qvDMp1SxchMFltPlo5mbSMKu1 x1p4UkAzx543meMlRXOgx2/hnBm6H6L0FsSyDS6P224yF+30eeODD4Ju4BCyQ0jO IpUxmUnApo/m0eRelI6TRl7jK6aGqSYUNhFBuFxSPKgKYBpFhVzRM63Jsvib82rY 438q3sIOUdxZY6pvMOWRkdUVoz7WBExTdx5NtGX4kdW5QtcQHM+2kht6sBnJsvcB JYcYIwAUeA5vdRfwLKuZn6SgAUKdgeOtuf+cPR3/E68LZr784SlokiHLtQkfk98j NXm6fJjXwJvwiM2IiFyg8aUwEEDX5U+QOCA0wYrgUQ/h8iathvBJKSc9jQARAQAB tEJDZW50T1MtNyBLZXkgKENlbnRPUyA3IE9mZmljaWFsIFNpZ25pbmcgS2V5KSA8 c2VjdXJpdHlAY2VudG9zLm9yZz6JAjUEEwECAB8FAlOn/0sCGwMGCwkIBwMCBBUC CAMDFgIBAh4BAheAAAoJECTGqKf0qA61TN0P/2730Th8cM+d1pEON7n0F1YiyxqG QzwpC2Fhr2UIsXpi/lWTXIG6AlRvrajjFhw9HktYjlF4oMG032SnI0XPdmrN29lL F+ee1ANdyvtkw4mMu2yQweVxU7Ku4oATPBvWRv+6pCQPTOMe5xPG0ZPjPGNiJ0xw 4Ns+f5Q6Gqm927oHXpylUQEmuHKsCp3dK/kZaxJOXsmq6syY1gbrLj2Anq0iWWP4 Tq8WMktUrTcc+zQ2pFR7ovEihK0Rvhmk6/N4+4JwAGijfhejxwNX8T6PCuYs5Jiv hQvsI9FdIIlTP4XhFZ4N9ndnEwA4AH7tNBsmB3HEbLqUSmu2Rr8hGiT2Plc4Y9AO aliW1kOMsZFYrX39krfRk2n2NXvieQJ/lw318gSGR67uckkz2ZekbCEpj/0mnHWD 3R6V7m95R6UYqjcw++Q5CtZ2tzmxomZTf42IGIKBbSVmIS75WY+cBULUx3PcZYHD ZqAbB0Dl4MbdEH61kOI8EbN/TLl1i077r+9LXR1mOnlC3GLD03+XfY8eEBQf7137 YSMiW5r/5xwQk7xEcKlbZdmUJp3ZDTQBXT06vavvp3jlkqqH9QOE8ViZZ6aKQLqv pL+4bs52jzuGwTMT7gOR5MzD+vT0fVS7Xm8MjOxvZgbHsAgzyFGlI1ggUQmU7lu3 uPNL0eRx4S1G4Jn5 =OGYX -----END PGP PUBLIC KEY BLOCK-----
サインのチェックは rpm の –checksig オプションで行え、公式パッケージの場合は pgp が OK と表示されます。
# rpm --checksig httpd-2.4.6-67.el7.centos.6.x86_64.rpm httpd-2.4.6-67.el7.centos.6.x86_64.rpm: sha1 md5 OK # rpm --checksig httpd-2.4.6-67.el7.centos.6.x86_64.rpm httpd-2.4.6-67.el7.centos.6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
公開鍵をアンインストールすると、鍵が見つからないエラーが出力される。なお鍵のインポートは、rpm の import オプションでも行えます。
# rpm -e gpg-pubkey # rpm --checksig httpd-2.4.6-67.el7.centos.6.x86_64.rpm httpd-2.4.6-67.el7.centos.6.x86_64.rpm: RSA sha1 (MD5) PGP md5 OK ではありません。 # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7