RPM 패키지가 서명 된 GPG 키를 어떻게 알 수 있습니까?


26

RPM을 사용하여 암호화 서명을 확인할 수 있습니다 rpm -K. 서명이 RPM 데이터베이스에 있고 유효한 경우 gpg(또는 pgp)를 포함하고 끝나는 문자열을 반환 OK합니다.

패키지가 서명되지 않았지만 체크섬이 유효하면 여전히을 얻지 OK만 아니요를 얻습니다 gpg.

패키지에 서명했지만 키가 RPM 데이터베이스에서 누락 된 경우 (GPG)(대문자) NOT OKAY및가 표시됩니다 (MISSING KEYS: GPG#deadbeef).

패키지 설치를 위해 어떤 키를 설치해야하는지 알아 내면 편리합니다.

하지만 제가 확인하려는 경우 어떤 주어진 패키지에 서명하는 데 사용 된 내 RPM 키링 여러 키?

답변:


12
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SIGPGP:pgpsig} %{SIGGPG:pgpsig}\n'

패키지를 이미 설치 한 경우에만 작동합니다. 아래 Brightlancer 솔루션을 사용하면 설치하기 전에 서명을 확인할 수 있습니다
Thomas

3
이도 바꿀 경우 제거 된 패키지에 대해 잘 작동 -a으로 -p packagename.rpm.
Larsks

26

다음을 통해 서명 필드가 표시됩니다 rpm -qpi package.rpm. 예 :

[vagrant@vm-one ~]$ rpm -qpi puppet-3.7.4-1.el6.noarch.rpm
Name        : puppet
Version     : 3.7.4
Release     : 1.el6
Architecture: noarch
Install Date: (not installed)
Group       : System Environment/Base
Size        : 6532300
License     : ASL 2.0
Signature   : RSA/SHA512, Tue 27 Jan 2015 11:17:18 PM UTC, Key ID 1054b7a24bd6ec30
Source RPM  : puppet-3.7.4-1.el6.src.rpm
Build Date  : Mon 26 Jan 2015 11:48:15 PM UTC
Build Host  : tahoe.delivery.puppetlabs.net
Relocations : (not relocatable)
Vendor      : Puppet Labs
URL         : http://puppetlabs.com
Summary     : A network tool for managing many disparate systems
Description :
Puppet lets you centrally manage every important aspect of your system using a
cross-platform specification language that manages all the separate elements
normally aggregated in different files, like users, cron jobs, and hosts,
along with obviously discrete elements like packages, services, and files.

8

RPM DB에서 어떤 GPG 키가 특정 rpm에 서명했는지 확인하려면 다음과 같이하십시오.

RPM DB의 모든 GPG 키를 나열하십시오.

$ rpm -qa gpg-pubkey*
...
...
gpg-pubkey-b1275ea3-546d1808
...
...

먼저 문제의 RPM을 확인 한다 당신의 RPM의 DB에서 키로 서명 :

$ rpm -K hp/mlnx-en-utils-2.2-1.0.7.0.g0055740.rhel6u4.x86_64.rpm
hp/mlnx-en-utils-2.2-1.0.7.0.g0055740.rhel6u4.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

마지막에 OK를 찾고 있는데 'NOT OK (MISSING KEYS)'가 아닙니다. 이는 서명되었지만 RPM DB에없는 키에 의해 의미됩니다.

우리가 확인하고있는 rpm은 RPM DB의 키로 서명되었습니다.

그런 다음 rpm으로 서명 한 키 ID를 가져옵니다.

$ rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} %{SIGPGP:pgpsig} %{SIGGPG:pgpsig}\n' -p hp/mlnx-en-utils-2.2-1.0.7.0.g0055740.rhel6u4.x86_64.rpm
mlnx-en-utils-2.2-1.0.7.0.g0055740.rhel6u4 RSA/SHA1, Tue Apr 14 12:34:51 2015, Key ID fadd8d64b1275ea3 (none)

이제 키 ID 의 마지막 8 자 (즉, fadd8d64b1275ea3의 b1275ea3)가 첫 번째 명령에서 gpg-pubkey- 다음의 8 자에 해당 하는지 확인할 수 있습니다 . 그리고이 경우에!

그런 다음 문제의 열쇠가 있습니다.

$ rpm -qi gpg-pubkey-b1275ea3-546d1808

이 예에서이 rpm에 서명 한 것이 HP의 키임을 알 수 있습니다.

이것이 도움이되기를 바랍니다. 알아내는 데 시간이 걸렸습니다. :-)


5

다음 less <rpm file>과 같이 Signature항목을 발행 하고 확인하십시오.

[vagrant@vm-one ~]$ less artifactory-3.5.3.rpm
Name        : artifactory
Version     : 3.5.3
Release     : 30172
Architecture: noarch
Install Date: (not installed)
Group       : Development/Tools
Size        : 42286184
License     : LGPL
Signature   : (none)
Source RPM  : artifactory-3.5.3-30172.src.rpm
Build Date  : Thu 19 Mar 2015 04:47:04 PM UTC
Build Host  : artbuild2.jfrog.local
Relocations : (not relocatable)
Vendor      : JFrog Ltd.
URL         : http://www.jfrog.org
Summary     : Binary Repository Manager
Description :
The best binary repository manager around.
-rwxrwxr-x    1 root    root                     7891 Mar 19 16:47 /etc/init.d/artifactory
drwxr-xr-x    2 artifactartifact                    0 Mar 19 16:47 /etc/opt/jfrog/artifactory
-rwxrwx---    1 artifactartifact                 9855 Mar 19 16:47 /etc/opt/jfrog/artifactory/artifactory.config.xml
-rwxrwx---    1 artifactartifact                11172 Mar 19 16:47 /etc/opt/jfrog/artifactory/artifactory.system.properties
-rwxrwx---    1 artifactartifact                  457 Mar 19 16:47 /etc/opt/jfrog/artifactory/default
-rwxrwx---    1 artifactartifact                 6858 Mar 19 16:47 /etc/opt/jfrog/artifactory/logback.xml
-rwxrwx---    1 artifactartifact                 5470 Mar 19 16:47 /etc/opt/jfrog/artifactory/mimetypes.xml
drwxrwxr-x    2 root    root                        0 Mar 19 16:47 /opt/jfrog
drwxrwxr-x    2 root    root                        0 Mar 19 16:47 /opt/jfrog/artifactory/bin
-rwxrwxr-x    1 root    root                   103424 Mar 19 16:47 /opt/jfrog/artifactory/bin/artifactory-service.exe
-rwxrwxr-x    1 root    root                     1366 Mar 19 16:47 /opt/jfrog/artifactory/bin/artifactory.bat
-rwxrwxr-x    1 root    root                      457 Mar 19 16:47 /opt/jfrog/artifactory/bin/artifactory.default
artifactory-3.5.3.rpm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.