使用gpg验证签名信任?
发布时间:2020-12-13 18:03:45 所属栏目:Linux 来源:网络整理
导读:我们想用gpg签名来验证我们的某些方面 系统配置管理工具.另外,我们想 使用“信任”模型,其中各个sysadmin密钥使用a签名 主签名密钥,然后我们的系统信任该主密钥(和 使用“信任网”来验证我们的系统管理员签名. 这给了我们很多灵活性,比如容易的能力 当有人离
我们想用gpg签名来验证我们的某些方面
系统配置管理工具.另外,我们想 使用“信任”模型,其中各个sysadmin密钥使用a签名 主签名密钥,然后我们的系统信任该主密钥(和 使用“信任网”来验证我们的系统管理员签名. 这给了我们很多灵活性,比如容易的能力 # gpg -v < foo.asc Version: GnuPG v1.4.11 (GNU/Linux) gpg: armor header: gpg: original file name='' this is a test gpg: Signature made Fri 22 Jul 2011 11:34:02 AM EDT using RSA key ID ABCD00B0 gpg: using PGP trust model gpg: Good signature from "Testing Key <someone@example.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: ABCD 1234 0527 9D0C 3C4A CAFE BABE DEAD BEEF 00B0 gpg: binary signature,digest algorithm SHA1 我们关心的部分是这样的: gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. 在这种情况下,gpg返回的退出代码为0,尽管信任 # echo $? 0 如果签署了某些内容,我们如何让gpg失败 我已经看到一些建议gpgv命令将返回正确的退出代码,但遗憾的是gpgv不知道如何从密钥服务器获取密钥.我想我们可以从gpg解析状态输出(使用–status-fd),但是有更好的方法吗? 解决方法
那么让我试着分解这个问题:
第一个问题似乎是您正在测试的密钥是不可信的. gpg -v < test.txt.asc gpg: armor header: Version: GnuPG v1.4.11 (GNU/Linux) gpg: original file name='test.txt' this is a test gpg: Signature made Thu 11 Aug 2011 09:09:35 PM EST using RSA key ID FE1B770E gpg: using PGP trust model gpg: Good signature from "John Doe <jdoe@noemail.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 5DD8 216D ADB1 51E8 4326 3ACA 1DED BB72 FE1B 770E gpg: binary signature,digest algorithm SHA1 我认为这是故意的…但在我们开始如何解决之前,让我建议你使用gpgv而不是gpg -v?你会在一分钟内找到原因: $gpgv < test.txt.asc gpgv: keyblock resource `/user/.gnupg/trustedkeys.gpg': file open error gpgv: Signature made Thu 11 Aug 2011 09:09:35 PM EST using RSA key ID FE1B770E gpgv: Can't check signature: public key not found $echo $? 2 没有关键,没有信任……不,我们将密钥导入trustedkeys.gpg $gpg --no-default-keyring --keyring trustedkeys.gpg --import jdoe_pub.gpg gpg: keyring `/user/.gnupg/trustedkeys.gpg' created gpg: key FE1B770E: public key "John Doe <jdoe@noemail.com>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) $gpgv < test.txt.asc gpgv: Signature made Thu 11 Aug 2011 09:09:35 PM EST using RSA key ID FE1B770E gpgv: Good signature from "John Doe <jdoe@noemail.com>" $echo $? 0 希望能帮助到你 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |