RPM 패키지로 작업하는 동안 사용 가능한 GPG 키에 대해 서명을 확인해야 하는 경우가 종종 있습니다.
사용
rpm -qip --nosignature <package.rpm> | grep Signature
다음과 같은 키 ID를 알려주세요.
Signature : RSA/SHA1, Mon 28. Aug 2019 06:00:00 AM CET, Key ID 1234567890abcdef
따라서
gpg --with-fingerprint <RPM-GPG-KEY-package>
키 지문을 알려주세요.
Key fingerprint = 0987 6543 21FE DCBA 0987 6543 21FE 1234 5678 90AB CDEF
두 출력을 비교하는 것이 쉽지 않은데 전체 지문 대신 언급된 키 ID를 어떻게 얻을 수 있습니까?
답변1
rpm --import GPGFILE
다음을 사용하여 GPG 키를 가져올 수 있습니다.rpmkeys --checksig foo.rpm
답변2
조사하다가 알게 된 사실키 ID는 일반적으로 키 지문의 마지막 8바이트 또는 16바이트입니다. 그래서 출력에서 추출하고 싶습니다. 이 목표를 달성하는 방법은 무엇입니까?
작동하는 것으로 보이는 다음 접근 방식을 찾았습니다.
키ID.sh
#! /bin/bash
KEY_PATH=$1
KEY_FINGERPRINT=$(gpg --with-fingerprint ${KEY_PATH} | grep "Key fingerprint" | cut -d "=" -f 2 | tr -d ' ' | tr '[:upper:]' '[:lower:]')
echo ${KEY_FINGERPRINT} | grep -o '.\{8\}$'
echo ${KEY_FINGERPRINT} | grep -o '.\{16\}$'