我想将标头和负载的 SHA256 摘要添加到我的 RPM 包中。
目前正在使用 sha1 摘要进行构建。
下面是输出
rpm --checksig --verbose pkg_name.rpm
Header SHA1 digest: OK
MD5 digest: OK
环境 - RHEL6
这是我迄今为止尝试过的
%_source_filedigest_algorithm 8
%_binary_filedigest_algorithm 8
%define _source_filedigest_algorithm 8
%define _binary_filedigest_algorithm 8
但以上解决方案都不适合我 重建后,我仍然看到我的包正在使用 sha1 和 md5 作为摘要算法进行构建。
请注意上述每个解决方案的
rpm --showrc | grep "digest_algo"
命令的输出如下
-13: _binary_filedigest_algorithm 8
-13: _source_filedigest_algorithm 8
在构建 RPM 包的用户的主文件夹中创建文件 .rpmmacros 并将此内容放入此文件中:
%_gpg_name My Key ID
%_gpg_digest_algo sha256
%_binary_filedigest_algorithm SHA256
%_source_filedigest_algorithm SHA256
%__gpg_sign_cmd %{__gpg} \
gpg --force-v3-sigs --batch --no-verbose --no-armor --passphrase "%{getenv:KEYPASSWORD}" \
%{?_gpg_digest_algo:--digest-algo %{_gpg_digest_algo}} \
--no-secmem-warning \
-u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
My Key ID
”替换为生成的 GPG 密钥的名称KEYPASSWORD
然后您可以使用以下命令添加签名:
rpmsign --addsign package.rpm
注意: 您需要 rpm >= 4.14.3