正如前言所提到的,这个系统有一个最大的薄弱点,那就是公钥的真实性问题。如果用的是错误的公钥,你加密的价值就全没了。要克服这种风险,一种可能是对钥匙签名:你把你的签名放在一把钥匙上,这样你就绝对确信这把钥匙是真实的。这样,钥匙上的签名就表示承认钥匙上的用户身份确实是这把钥匙的主人。有了这个保证,用户就可以开始放心用这把钥匙加密了。
要对一把钥匙签名,用 gpg --edit-key UID ,然后用sign命令。
你只有在绝对确信一把钥匙的真实性的时候,才应该对它签名认可!!! 例如你本人拿到了这把钥匙(比如说在一个钥匙签名派对上),或者你通过别的渠道得到了钥匙,然后检查了它的指纹(例如通过打电话询问)。你永远不应该光凭假设就对一把钥匙签名。
GnuPG根据现有的签名和”主人的信任度”来决定钥匙的真实性。主人信任度是钥匙的主人用来决定对别的某把钥匙的信任程度的一个值。这个值可以是
1 = 我不知道
2 = 我不信任(这把钥匙)
3 = 我勉强信任
4 = 我完全信任
如果用户不信任一个签名,可以就这么说,因而将弃这个签名不用。这些信任信息不是存在储存钥匙的文件里,而是存在另一个文件里。