什么可能导致
rpm -Kv
hello.rpm 识别由我的 Python 脚本生成的模仿 rpm 工具原始歌唱过程的签名的不一致? rpm包中添加签名成功,但有时命令无法识别。任何解决此问题的见解或建议将不胜感激。我正在使用 Ubuntu 使用 python 脚本对 rpm 包进行签名。
命令:
rpm -Kv hello.rpm
输出:
hello.rpm:
Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
Header SHA256 digest: OK
Header SHA1 digest: OK
Payload SHA256 digest: OK
MD5 digest: OK
命令:
rpm -qiv hello.rpm
输出:
error: demo.rpm: Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
error: demo.rpm: not an rpm package (or package manifest)
命令:
rpm -Kv hello.rpm
输出:
hello.rpm:
Header V4 RSA/SHA256 Signature, key ID 80d9f118: OK
Header SHA256 digest: OK
Header SHA1 digest: OK
Payload SHA256 digest: OK
MD5 digest: OK
命令:
rpm -qiv hello.rpm
输出:
Name : hello
Version : 0.0.1
Release : 1.el8
Architecture: noarch
Install Date: (not installed)
Group : Unspecified
Size : 34
License : GPL
Signature : RSA/SHA256, Sat May 6 10:39:43 2023, Key ID af325bfe80d9f118
Source RPM : hello-0.0.1-1.el8.src.rpm
Build Date : Wed Jan 25 06:43:19 2023
Build Host : e5eee6689554
Relocations : (not relocatable)
Summary : A simple hello world script
Description :
A demo RPM build
以下是 rpm trace 的更多详细信息
命令:
RPM_TRACE=1 rpm -qip hello.rpm
输出:
_rpmInitCrypto: entered
_rpmInitCrypto: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b30
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d900ea8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x55801d900ea8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d901008
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x55801d901008
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b30
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8c5c50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8c5c50
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d8d4540
_pgpPubkeyKeyID: Key ID: 48EA1457D3E3330E
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d8d4540
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d8d27a0
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d904e00
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Got 0 subkeys
_pgpPrtParamsSubkeys: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d905c70
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d908858
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x55801d908858
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d9089b8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x55801d9089b8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905c70
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905130
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d9050f0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905130
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d9050f0
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d900ea0
_pgpPubkeyKeyID: Key ID: F1BAB259E14FA44E
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d900ea0
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d903f80
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d90bcc0
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Subkey: 27640070E2297392
_pgpPrtParamsSubkeys: dig: returning 0x55801d910500
_pgpPrtParamsSubkeys: Got 1 subkeys
_pgpPrtParamsSubkeys: -> success
_pgpDigParamsSignID: entered
_pgpDigParamsSignID: dig: & <- 0x55801d910500
_pgpDigParamsSignID: SignID: 27640070E2297392
_pgpDigParamsSignID: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d905600
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d910848
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x55801d910848
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d9109a8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x55801d9109a8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905600
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905130
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d902690
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905130
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d902690
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d8d4540
_pgpPubkeyKeyID: Key ID: AF325BFE80D9F118
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d8d4540
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d901190
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d909500
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Got 0 subkeys
_pgpPrtParamsSubkeys: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d9126b8
_pgpPrtParams: paramsp: &mut <- 0x55801d906da8
_pgpPrtParams: -> error: Failure: Signature Packet
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d90f4b0
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d909430
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d90f4b0
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5d70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d909430
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5d70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d90f4b0
_rpmDigestUpdate: data: &[] <- 0x55801d9140d8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d909430
_rpmDigestUpdate: data: &[] <- 0x55801d9140d8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d90f4b0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d90f4b0
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d909430
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d9050f0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5d40
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5d48
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d912610
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5d40
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5d48
_rpmDigestFinal: -> success
error: demo.rpm: Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d9050f0
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d912610
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
error: demo.rpm: not an rpm package (or package manifest)
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmFreeCrypto: entered
_rpmFreeCrypto: -> success
Name : hello
Version : 0.0.1
Release : 1.el8
Architecture: noarch
Install Date: (not installed)
Group : Unspecified
Size : 34
License : GPL
Signature : RSA/SHA256, Sat May 6 10:39:43 2023, Key ID af325bfe80d9f118
Source RPM : hello-0.0.1-1.el8.src.rpm
Build Date : Wed Jan 25 06:43:19 2023
Build Host : e5eee6689554
Relocations : (not relocatable)
Summary : A simple hello world script
Description :
A demo RPM build
发现这个 link 有同样的问题,但无法理解那里的修复方法。