希望看这篇博客的同学们都是已经了解一些关于GnuPG或者PGP知识,或者是想去了解的同学们。
个人推荐
GPG密钥是有四种用途的,分别是C(Certification), S(Signing), E(Encryption), A(Authentication)。
带有证明(C)
用途的密钥一般可以认为是主密钥。个人理解为证明
是一种特殊的签名(S)
密钥,可以签名UID,subkey或者别人的key等。用这把钥匙签名表示了密钥持有人的认可。换句话说,证明
密钥就是你,而你的子密钥(比如加密(E)
密钥)是因为有了你的主密钥(证明
密钥)的签名,才被认为是你的子密钥之一。我知道这听起来有些像绕口令,记住有证明
用途的密钥才直接代表你,其余的子密钥是被主密钥签名过的。
并且,一个密钥可以有很多的用途。我可以建立一把密钥,并让他拥有所有的用途。虽然我认为这样做很不明智,有点类似于你的家门钥匙和你的自行车钥匙是同一把的感觉。
使用gpg --generate-key
创建的密钥,是一把CS
用途的主密钥和一把E
用途的子密钥。
新建密钥(非精简模式)
1 | gpg --expert --full-generate-key |
删除子密钥
参见邮件列表,这里
1 | Obtain the keygrip of the subkey you want to delete. |