| Summary: | dnf does not update GPG key of repo when its expiration date was changed | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | lpugoy |
| Component: | gnupg | Assignee: | Brian Lane <bcl> |
| Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | high | ||
| Version: | 23 | CC: | bcl, jon, jsilhan, mluscon, packaging-team-maint, pnemade, rdieter, rpm-software-management, tmraz, vmukhame |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-10-20 23:22:08 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
lpugoy
2016-09-15 12:19:44 UTC
A data point that may be relevant: Using gpg 1.4.21 on Fedora 24, I find that `gpg --import $keyfile` does not update an existing expired key with a newer key with a future expiration date. The --import option seems to only get new signatures, but not new expiration dates. I have to fully delete the key, then import the new one, to get the new expiration date. I do not remember ever having to delete a key in the past to get the expiration date updated. In any case, it sounds like it could be the root of the problem reported above with dnf not updating PGP key expiration dates. (In reply to Jon Jensen from comment #1) > The --import option seems to only get new signatures, but not new expiration > dates. Therefore it seems to be an issue of gnupg. Please let us know whether there is anything that needs to be changed on the DNF side. I'm fairly sure there's nothing wrong with gpg 1.4.21, I cannot reproduce this here with a simple test. I generated a key on a clean install, exported the never expiring version, edited to expire in 6 days, exported that. Then removed the ~/.gnupg directory and imported both of them. The 6 day one replaced the never expiring one just fine. [root@c84e269304e5 ~]# gpg --list-keys && gpg --import expire-test-never-gpg1.key.asc gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/pubring.gpg' created gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: keyring `/root/.gnupg/secring.gpg' created gpg: key 6C2BCE6D: public key "expire-test <expire-test>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) [root@c84e269304e5 ~]# gpg --list-keys /root/.gnupg/pubring.gpg ------------------------ pub 2048R/6C2BCE6D 2016-10-20 uid expire-test <expire-test> sub 2048R/37C386AA 2016-10-20 [root@c84e269304e5 ~]# gpg --list-keys && gpg --import expire-test-6-days-gpg1.key.asc /root/.gnupg/pubring.gpg ------------------------ pub 2048R/6C2BCE6D 2016-10-20 uid expire-test <expire-test> sub 2048R/37C386AA 2016-10-20 gpg: key 6C2BCE6D: "expire-test <expire-test>" 1 new signature gpg: Total number processed: 1 gpg: new signatures: 1 [root@c84e269304e5 ~]# gpg --list-keys /root/.gnupg/pubring.gpg ------------------------ pub 2048R/6C2BCE6D 2016-10-20 [expires: 2016-10-26] uid expire-test <expire-test> sub 2048R/37C386AA 2016-10-20 I'm guessing this is something to do with your environment. If you can reproduce this in a clean fashion (eg. a script that can be run on a clean system) then we'll have something to work with. |