błąd "signature verification failed" podczas instalacji pakietów

Adam Osuchowski adwol at zonk.pl
Sun Mar 5 18:46:32 CET 2023


Od jakiegoś czasu nie da się zainstalować starych pakietów z repozytorium
(tj. takich zbudowanych 2-3 lata temu albo dawniej). Problem dotyczy wielu
różnych pakietów, ale ich wspólną cechą chyba jest właśnie wiek. Poldek
krzyczy, że "signature verification failed", ale co ciekawe, pozwala pobrać
taką paczkę.

poldek:/all-avail> install --force filesystem-4.1-15.x86_64
Processing dependencies...
filesystem-4.1-15.x86_64 obsoleted by filesystem-4.1-15.x86_64
There are 1 package to install, 1 to remove:
U filesystem-4.1-15.x86_64
filesystem-4.1-15.x86_64.rpm: digests OK
Need to get 33.0KB of archives.
filesystem-4.1-15.x86_64.rpm: digests OK
filesystem-4.1-15.x86_64.rpm: DIGESTS SIGNATURES NOT OK
error: filesystem-4.1-15: signature verification failed
There were signature verification errors. Proceed? [N/y] n
There were errors
poldek:/all-avail> get filesystem-4.1-15.x86_64
th::filesystem-4.1-15.x86_64.rpm [33.0K (33.0K/s)]
filesystem-4.1-15.x86_64.rpm: digests OK

rpmowi też się to nie podoba:

root at pld:~# rpm -Uvh --force filesystem-4.1-15.x86_64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
        package filesystem-4.1-15.x86_64 does not verify: no digest

Wygląda na to, że nie podoba mu się brak sygnatury SHA256:

root at pld:~# rpm -K filesystem-4.1-15.x86_64.rpm 
filesystem-4.1-15.x86_64.rpm: DIGESTS SIGNATURES NOT OK
root at pld:~# rpm -Kvv filesystem-4.1-15.x86_64.rpm
D: loading keyring from rpmdb
D: PRAGMA secure_delete = OFF: 0
D: PRAGMA case_sensitive_like = ON: 0
D:  read h#       2 Header sanity check: OK
D: added key gpg-pubkey-e64e7bf7-47b35206 to keyring
D:  read h#       3 Header sanity check: OK
D: added key gpg-pubkey-e4f1bc2d-47b351f0 to keyring
filesystem-4.1-15.x86_64.rpm:
    Header V4 DSA/SHA1 Signature, key ID e4f1bc2d: OK
    Header SHA1 digest: OK
    Payload SHA256 digest: NOTFOUND
    Payload SHA256 ALT digest: NOTFOUND
    RSA signature: NOTFOUND
    DSA signature: NOTFOUND
    MD5 digest: OK

bo dla nowszych pakietów, które już ją mają, nie krzyczy:

root at pld:~# rpm -K bash-5.2.15-1.x86_64.rpm
bash-5.2.15-1.x86_64.rpm: digests signatures OK
root at pld:~# rpm -Kvv bash-5.2.15-1.x86_64.rpm
D: loading keyring from rpmdb
D: PRAGMA secure_delete = OFF: 0
D: PRAGMA case_sensitive_like = ON: 0
D:  read h#       2 Header sanity check: OK
D: added key gpg-pubkey-e64e7bf7-47b35206 to keyring
D:  read h#       3 Header sanity check: OK
D: added key gpg-pubkey-e4f1bc2d-47b351f0 to keyring
bash-5.2.15-1.x86_64.rpm:
    Header V4 DSA/SHA1 Signature, key ID e4f1bc2d: OK
    Header SHA256 digest: OK
    Header SHA1 digest: OK
    Payload SHA256 digest: OK
    MD5 digest: OK

Jak się domyślam, to pewnie jest efekt uboczny przejścia z rpm5 na rpm4.

Czy można prosić w związku z tym o przebudowanie możliwie jak największej
liczby paczek, których aktualne wersje z repozytorium zostały zbudowane
2 września 2020 r. lub wcześniej (to była najpóźniejsza data budowy paczki,
którą znalazłem, że ma ten problem)? Trochę utrudnia to instalację, jako że
poldek nie ma opcji ignorowania podpisów podczas instalacji (czego zresztą
nie chciałbym i tak robić). Zdaję sobie sprawę, że może być problem z
budową jakichś starych paczek sprzed lat, bo mogą się np. już nie kompilować,
ale może chociaż dałoby się spaczkować jeszcze raz same rpmy, albo tylko
je podpisać po nowemu, bez zmiany samych plików ze środka?

Alternatywnie zostaje zapatchować rpma i/lub poldka, żeby nie zwracał uwagi
na brak sygnatury SHA256 jeżeli SHA1 weryfikuje się poprawnie.

Z góry dzięki.


More information about the pld-devel-pl mailing list