查看 dnf 是否开启 gpg 检查
-
gpgcheck:网络安装 gpg 检查
-
localpkg_gpgcheck:本地安装 gpg 检查
cat /etc/dnf/dnf.conf
[root@anolis-23-0 ~]# cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
localpkg_gpgcheck=1
[root@anolis-23-0 ~]#
yum 跳过 gpg 检查
yum install -y --nogpgcheck package.rpm
rpm 跳过 gpg 检查
- 如果使用 yum 无法跳过 gpg 检查,可以使用 rpm 进行跳过 gpg 检查
rpm -ivh --nosignature package.rpm
导入证书
# 直接导入公钥文件
rpm --import /tmp/rpm_key.asc
# 下载到指定文件夹
curl -o /tmp/rpm_key.asc https://keys.openpgp.org/vks/v1/by-fingerprint/FCF8724722CCBF9F51B1FBE376532BE7E3013105
# 查看公钥文件
cat /tmp/rpm_key.asc
# rpm 导入公钥文件
rpm --import /tmp/rpm_key.asc
# 使用 gpg 在 keys.openpgp.org 中下载公钥文件
gpg --keyserver keys.openpgp.org --recv-keys FCF8724722CCBF9F51B1FBE376532BE7E3013105
# 使用 gpg 导出公钥文件
gpg --export --armor FCF8724722CCBF9F51B1FBE376532BE7E3013105 > /tmp/rpm_key.asc
# rpm 导入公钥文件
rpm --import /tmp/rpm_key.asc
导入签名失败
[root@911k ~]# rpm --import /tmp/rpm_key.asc
error: /tmp/rpm_key.asc: key 1 import failed.
[root@911k ~]#
[root@anolis-8-9 ~]# rpm --import /tmp/rpm_key.asc
错误:/tmp/rpm_key.asc:导入密钥 1 失败。
[root@anolis-8-9 ~]#
查看签名失败
- 版本过低,无法查看,比如:
- 在 龙蜥 Anolis OS 8.9(含)以前的系统,不支持
EdDSA/SHA256 算法
- 在 龙蜥 Anolis OS 23.0(含)以后的系统,支持
EdDSA/SHA256 算法
[root@911k ~]# rpm -Kv hello-world-1.0.0-39.an23.x86_64.rpm
hello-world-1.0.0-39.an23.x86_64.rpm:
Header DSA signature: BAD (package tag 267: invalid OpenPGP signature)
Header SHA256 digest: OK
Header SHA1 digest: OK
Payload SHA256 digest: OK
MD5 digest: OK
[root@911k ~]#
[root@anolis-8-9 ~]# rpm -Kv hello-world-1.0.0-39.an23.x86_64.rpm
hello-world-1.0.0-39.an23.x86_64.rpm:
头DSA signature: BAD (package tag 267: invalid OpenPGP signature)
头SHA256 digest: OK
头SHA1 digest: OK
Payload SHA256 digest: OK
MD5 digest: OK
[root@anolis-8-9 ~]#