Tanda tangan kriptografis dari RPM dapat diverifikasi dengan rpm -K
perintah. Ini mengembalikan string yang berisi gpg
(atau pgp
) dan diakhiri OK
jika tanda tangan ada di database RPM dan valid.
Jika paket tidak ditandatangani tetapi checksum valid, Anda masih akan mendapatkannya OK
, tetapi tidak gpg
.
Jika paket ditandatangani tetapi kunci hilang dari database RPM, Anda mendapatkan (GPG)
(huruf kapital) dan NOT OKAY
, diikuti oleh (MISSING KEYS: GPG#deadbeef)
.
Itu berguna jika saya ingin mengetahui kunci apa yang harus saya temukan untuk menginstal agar instalasi paket saya berfungsi.
Tetapi bagaimana jika saya ingin memverifikasi mana dari beberapa kunci di keyring RPM saya yang digunakan untuk menandatangani paket yang diberikan?
rpm
packaging
cryptography
gpg
mattdm
sumber
sumber
-a
dengan-p packagename.rpm
.Ada bidang tanda tangan yang terdaftar melalui
rpm -qpi package.rpm
, misalnya:sumber
Untuk mengetahui kunci GPG mana dalam RPM DB Anda yang menandatangani rpm tertentu, lakukan ini:
Daftar semua kunci GPG di RPM DB Anda:
Pertama memastikan rpm yang bersangkutan adalah ditandatangani dengan kunci dalam DB RPM Anda:
Anda sedang mencari OK di bagian akhir, dan bukan 'TIDAK Oke (MISSING KEYS', yang artinya sudah ditandatangani, tetapi dengan kunci yang tidak ada dalam RPM DB Anda.
Benar, jadi rpm yang kami periksa telah ditandatangani oleh kunci di RPM DB kami.
Dan kemudian dapatkan ID Kunci yang ditandatangani dengan rpm:
Sekarang Anda dapat melihat apakah 8 karakter terakhir dari ID Kunci (yaitu b1275ea3 dari fadd8d64b1275ea3) sesuai dengan salah satu dari 8 karakter berikut gpg-pubkey- dari perintah pertama. Dan dalam hal ini, ya!
Dan kemudian Anda memiliki kunci yang dimaksud, demikian juga:
untuk melihat, dalam contoh ini, bahwa kunci HP yang menandatangani rpm ini.
Semoga ini membantu. Butuh waktu beberapa saat untuk mencari tahu. :-)
sumber
Terbitkan
less <rpm file>
dan periksaSignature
entri, misalnya:sumber