Mic*_*eek 8 encryption apt repository gnupg
我维护着一系列的私有仓库。用于签署 repo 的 gpg 密钥是用“Key-Type: RSA”和“Key-Length: 4096”制作的。用于生成密钥的 GPG 版本在 Ubuntu 14.04 上是 1.4.16。抱怨的机器有 gpg 1.4.20(测试版为 16.04)。
如何修复我的私有存储库中的“W:<...> 存储库未由密钥 <...>(弱摘要)签名不足”?
我承认我不太了解加密,但我认为 4096 长度的 RSA 密钥就足够了。
警告消息与加密算法无关(目前 4k RSA 密钥被认为是完全正确的最佳实践)。不过,摘要算法是另一回事:散列算法应用于消息正文(在您的情况下,是包或包列表),然后对其进行签名。GnuPG 有相当保守的默认设置来保持兼容,但密码分析的进展缓慢地超过了这些默认设置。
您不必创建新密钥,只需更改 GnuPG 的设置即可。Debian-administrator 博客的建议仍然很好,可以帮助您设置合理的默认值,这有点过于谨慎:
设置 GnuPG 使用的首选项(用于签名消息、加密给他人,...):
cat >>~/.gnupg/gpg.conf <<EOF
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
EOF
Run Code Online (Sandbox Code Playgroud)在您的密钥中设置首选算法以供其他人使用(同时使用上述 #1 中的更新设置添加新的自签名):
$ gpg --edit-key $KEYID
Command> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Command> save
Run Code Online (Sandbox Code Playgroud)将来,GnuPG 应该选择被认为是安全的摘要算法。