SUSE Linux署名の検証に失敗しました。

SUSE Linux署名の検証に失敗しました。

SUSE Linux用の.rpmファイルをコーディング、ビルド、署名すると、以下のように正常に署名されます。

rpm --checksig -v xxx.rpm

Header V4 RSA/SHA256 Signature, key ID 7936b039: OK
Header SHA1 digest: OK
Header SHA256 digest: OK
Payload SHA256 digest: OK
V4 RSA/SHA256 Signature, key ID 7936b039: OK
MD5 digest: OK

ただし、このファイルを次の場所にコピーした場合SUSE Linuxエンタープライズエディション12 SP3PCでもう一度確認してみると、結果は次のようになります。

rpm --checksig -v xxx.rpm

Header V4 RSA/SHA256 Signature, key ID 7936b039: NOKEY
Header SHA1 digest: OK (62415d048bc9e59e70037e94e41e54e1087a93af)
V4 RSA/SHA256 Signature, key ID 7936b039: NOKEY
MD5 digest: OK (bde2174905b9e9b05953b148385ed99a)

その後、インストール時にエラーが発生します。

xxx.rpm:

Header V4 RSA/SHA256 Signature, key ID 7936b039: NOKEY
V4 RSA/SHA256 Signature, key ID 7936b039: NOKEY

xxx-15.4.2.1-0.x86_64 (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]
Abort, retry, ignore? [a/r/i] (a):

インターネットでいくつかのソリューションを調査してインストールする前に、公開鍵ファイル(RPMファイルに署名したときに生成されたもの)を再インポートしようとしました。 sudo rpm --import RPM-GPG-KEY-faleman

しかし、まだ失敗しました。

この問題の原因は何ですか?

エラーメッセージを受け取らずにSUSE Linuxに正常にインストールできるように.RPMファイルに署名するにはどうすればよいですか?

答え1

SLE12には、V4署名をサポートしていない以前のバージョンのRPM(4.11.2)があります。したがって、V3署名を使用するようにビルド構成を変更してください。 :D

ここでいくつかの助けを見つけることができます。https://adminotes.blogspot.com/2011/12/centos-6-rpm-sign-problem-v4-signatures.html

答え2

互換性のないGPGキー(V4)を使用している可能性があります。この人のようにhttps://localsteve.wordpress.com/2013/02/06/signing-rpms-cause-unverifying-v4-signatures-and-extreme-frustration/

異なる暗号化アルゴリズムを使用して別のキーを作成してみてください。

関連情報