从 PGP 签名中得知在其创建过程中使用了哪些算法

Tell from PGP signature which algorithms served in its creation

我正在处理一个 Debian 存储库,它显然包含一个 InRelease 文件,该文件可能已经以 no longer appropriate 的方式签名。症状是客户端在 运行 apt-get update.

时收到警告 The repository '... InRelease is not signed

InRelease 包含以 -----BEGIN PGP SIGNED MESSAGE----------BEGIN PGP SIGNATURE----- 开头的部分,因此已签名,我已经调整了我的 PGP personal-digest-preferencespersonal-cipher-preferences排除 SHA-1 使用的设置。但还是有所欠缺。

我的问题是:当我检查实际签名(----BEGIN PGP SIGNATURE----------END PGP SIGNATURE----- 之间的 ASCII 盔甲)时,有没有办法告诉它创建时使用了哪些算法,特别是 SHA 是否-1 在其创作中担任?我想答案是否定的,但我想听听专家的意见。

UPDATE -----BEGIN PGP SIGNATURE----- 之后的第一行是 Hash: SHA256 这样看起来不错(因为我在首选项中首先选择了 SHA256设置),但问题仍然存在。

UPDATE 我现在通过调用 apt-ftparchive packagesapt-ftparchive release(用于创建文件 PackagesReleases)加上附加参数 --no-sha1,但问题仍然存在。

所以现在看起来好像签名已经有效(在按照描述删除 SHA-1 摘要之后),但签名密钥尚不清楚。

因此将签名密钥添加到具有 add-key add key.pub 的客户端使问题消失。