{"id":604,"date":"2017-03-15T17:59:26","date_gmt":"2017-03-15T16:59:26","guid":{"rendered":"http:\/\/dominique.leuenberger.net\/blog\/?p=604"},"modified":"2017-03-15T17:59:26","modified_gmt":"2017-03-15T16:59:26","slug":"zypper-and-rpm-says-warning-unsupported-version-of-key-v3","status":"publish","type":"post","link":"https:\/\/dominique.leuenberger.net\/blog\/2017\/03\/zypper-and-rpm-says-warning-unsupported-version-of-key-v3\/","title":{"rendered":"zypper (and rpm) says: &#8220;warning: Unsupported version of key: V3&#8221;"},"content":{"rendered":"<p>Since openSUSE Tumbleweed has been upgraded to use rpm 4.13 (snapshot 2017033), you keep on seeing the message &#8220;<em>warning: Unsupported version of key: V3<\/em>&#8221; whenever you invoke zypper or rpm. Of course this is highly annoying, and you just want to stop it, right?<\/p>\n<p><strong>First, a bit of background:<\/strong><br \/>\nRPM uses gpg infrastructure to validate package signatures. As is common, this infrastructure is being developed and the various key formats are versioned. As old formats become obsolete and considered insecure, they are no longer being supported by modern tools. This helps to improve security insofar to not give the user a false sense of safety: a key that is insecure is worth as much as no key at all.<br \/>\n<!--more--><\/p>\n<p>So, let&#8217;s stop zypper \/ rpm annoy you with this! If it&#8217;s already not going to use the gpg key, we can as well just get rid of it. But HOW!?<\/p>\n<p>First, we need to find out the ID (or IDs) of the key(s) causing it. RPM can be a bit more verbose when asked to be so, and then it gives us some hints:<\/p>\n<p><code>rpm -vv -qf \/etc<\/code><br \/>\nAnd this will reply with something like<\/p>\n<blockquote><p>ufdio:       1 reads,    18883 total bytes in 0.000006 secs<br \/>\nD: loading keyring from pubkeys in \/var\/lib\/rpm\/pubkeys\/*.key<br \/>\nD: couldn&#8217;t find any keys in \/var\/lib\/rpm\/pubkeys\/*.key<br \/>\nD: loading keyring from rpmdb<br \/>\nD: opening  db environment \/var\/lib\/rpm cdb:private:0x201<br \/>\nD: opening  db index       \/var\/lib\/rpm\/Packages 0x400 mode=0x0<br \/>\nD: locked   db index       \/var\/lib\/rpm\/Packages<br \/>\nD: opening  db index       \/var\/lib\/rpm\/Name nofsync:0x400 mode=0x0<br \/>\n<strong>D:  read h#     168 Header sanity check: OK<br \/>\nwarning: Unsupported version of key: V3<\/strong><br \/>\nD:  read h#     335 Header sanity check: OK<br \/>\nD: added key gpg-pubkey-7e2e3b05-4be037ca to keyring<br \/>\nD:  read h#     390 Header sanity check: OK<\/p><\/blockquote>\n<p>I highlighted the interesting parts here for your viewing pleasure. <strong>168<\/strong> actually refers to the internal id in the rpm database of the key it just complained about.<\/p>\n<p>So, let&#8217;s find out what key this is:<br \/>\n<code>rpm -q --querybynumber 168<\/code><\/p>\n<p>and you get something like <strong>gpg-pubkey-7e2e3b05-4be037ca<\/strong> as reply. With this information, you can find out what key it is &#8211; just to satisfy your hunger for information. If you believe that the key in question is still in use, you might want to inform its owner.<\/p>\n<p><code>rpm -qi gpg-pubkey-3d25d3d9-36e12d04<\/code><\/p>\n<blockquote><p>warning: Unsupported version of key: V3<br \/>\nName        : gpg-pubkey<br \/>\nVersion     : 3d25d3d9<br \/>\nRelease     : 36e12d04<br \/>\nArchitecture: (none)<br \/>\nInstall Date: Tue 06 Jul 2010 07:39:17 AM CEST<br \/>\nGroup       : Public Keys<br \/>\nSize        : 0<br \/>\nLicense     : pubkey<br \/>\nSignature   : (none)<br \/>\nSource RPM  : (none)<br \/>\nBuild Date  : Tue 06 Jul 2010 07:39:17 AM CEST<br \/>\nBuild Host  : localhost<br \/>\nRelocations : (not relocatable)<br \/>\nSummary     : gpg(SuSE Security Team <security@suse.de>)<br \/>\nDescription :<br \/>\nDistribution: (none)<\/p><\/blockquote>\n<p>This is indeed an old GPG key &#8211; from SUSE. As this machine has been updated using <em>zypper dup<\/em> for such a long time, it&#8217;s no surprise some cruft like this accumulated. That key has long been replaced and is no longer in use. So it can be removed and live can go on:<\/p>\n<p><code>rpm -e gpg-pubkey-3d25d3d9-36e12d04<\/code><\/p>\n<p>There can be multiple keys in your system causing this &#8211; repeat above steps until your zypper\/rpm are no longer complaining &#8211; then have a lot of fun<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Since openSUSE Tumbleweed has been upgraded to use rpm 4.13 (snapshot 2017033), you keep on seeing the message &#8220;warning: Unsupported version of key: V3&#8221; whenever you invoke zypper or rpm. Of course this is highly annoying, and you just want to stop it, right? First, a bit of background: RPM uses gpg infrastructure to validate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,7],"tags":[34,37,22],"class_list":["post-604","post","type-post","status-publish","format-standard","hentry","category-opensuse","category-tutorials","tag-errors","tag-opensuse","tag-repository"],"_links":{"self":[{"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/posts\/604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/comments?post=604"}],"version-history":[{"count":9,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions"}],"predecessor-version":[{"id":613,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions\/613"}],"wp:attachment":[{"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/media?parent=604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/categories?post=604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dominique.leuenberger.net\/blog\/wp-json\/wp\/v2\/tags?post=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}