jrd*_*oko 3 encryption digital-signature public-key public-key-encryption gnupg
据我了解,与 gpg 一起使用的密钥对通常具有不止一个关联密钥:一个用于签名,另一个用于加密。使用 gpg(推送到密钥服务器、检索其他人的密钥、加密或签名)时如何管理这些多个密钥?它会自动使用正确的密钥来执行正确的操作,还是用户需要指定的内容?如何确定密钥对中每个密钥的用途?
通常称为“GPG 密钥”的东西更像是证书。就像在 X.509 中一样,证书包含的信息不仅仅是密钥:一个“主要”密钥对和多个“子密钥”密钥对,以及它们的使用标志和到期日期,以及多个“用户 ID” '和'照片身份证'以及他们的签名。
当您将“密钥对”上传到密钥服务器时,您将所有公开的东西——密钥、子密钥、用户 ID、签名——作为一个单一的证书提交。“主”密钥标识整个证书;它的公钥哈希就是你看到的“指纹”,密钥 ID 就是基于它的。通常,主键有“Sign”和“Certify”使用标志,分别用于对数据和其他键进行签名。
默认情况下,至少会创建一个“加密”子密钥,用于加密数据。您可以有多个这样的子项——例如,具有不同的到期日期。我找不到任何好的来源,但似乎将选择最新的有效子密钥(在开始日期之后且未过期/撤销)进行加密。当解密数据,所有子项将受到审判。
(您可能已经注意到,gpg -k列出了键和子键的键 ID 。当您需要强制使用特定键或子键时,您可以给出- (子)键 ID 后跟一个感叹号 - 以绕过对哪个子键最好。)keyid!
您可以选择添加标记为“验证”的子密钥,然后可以在诸如 SSH(通过 gpg-agent,通过提取原始 RSA 密钥对)或 SSL(由 GnuTLS 实现,作为 X.509 的替代方案)等协议中使用。使用哪些子键取决于具体的实现。
您可以使用以下命令查看 PGP 证书的完整结构:
gpg --export mykey | gpg -vvvgpg --export mykey | pgpdumpgpg --export mykey | certtool --pgp-certificate-info| 归档时间: |
|
| 查看次数: |
4532 次 |
| 最近记录: |