Podpis kryptograficzny RPM można zweryfikować za pomocą rpm -K
polecenia. Zwraca ciąg zawierający gpg
(lub pgp
) i kończący się, OK
jeśli podpis znajduje się w bazie danych RPM i jest prawidłowy.
Jeśli pakiet nie jest podpisany, ale sumy kontrolne są prawidłowe, nadal otrzymasz OK
, ale nie gpg
.
Jeśli pakiet jest podpisany, ale brakuje klucza w bazie danych RPM, otrzymasz (GPG)
(wielkie litery) NOT OKAY
, a następnie (MISSING KEYS: GPG#deadbeef)
.
Jest to przydatne, jeśli chcę dowiedzieć się, jaki klucz powinienem znaleźć, aby zainstalować, aby instalacja pakietu działała.
Ale co, jeśli chcę sprawdzić, który z kilku kluczy w moim zestawie kluczy RPM został użyty do podpisania danego pakietu?
rpm
packaging
cryptography
gpg
mattdm
źródło
źródło
-a
się-p packagename.rpm
.Na liście znajduje się pole podpisu
rpm -qpi package.rpm
, np .:źródło
Aby dowiedzieć się, który klucz GPG w Twojej bazie danych RPM podpisał określone rpm, wykonaj następujące czynności:
Wymień wszystkie klucze GPG w bazie danych RPM:
Najpierw upewnij się, że dane RPM są podpisane kluczem w DB RPM:
Na końcu szukasz OK, a nie „NIE OK (BRAK KLUCZY”), co oznacza, że został podpisany, ale kluczem nie w twojej bazie danych RPM.
Racja, więc sprawdzane przez nas obroty zostały podpisane przez klucz w naszej bazie danych RPM.
A następnie uzyskaj identyfikator klucza, z którym podpisano rpm:
Teraz możesz zobaczyć, czy ostatnie 8 znaków identyfikatora klucza (tj. B1275ea3 z fadd8d64b1275ea3) odpowiada dowolnemu z 8 znaków następujących po gpg-pubkey- od pierwszego polecenia. I w tym przypadku tak jest!
A potem masz klucz, o który chodzi, więc:
aby zobaczyć w tym przykładzie, że to klucz HP podpisał tę prędkość obrotową.
Mam nadzieję że to pomoże. Zajęło mi to trochę czasu, żeby się domyślić. :-)
źródło
Wystaw
less <rpm file>
i sprawdźSignature
wpis, np .:źródło