--encrypt-to
和之间有什么区别,--recipient
使用其中一个相对于另一个有哪些优点和缺点,您应该使用哪一个来加密自己的文件,以下内容是什么意思?
--encrypt-to
... 仅当用户提供其他收件人或使用选项收件人时,才使用由名称指定的密钥。...
答案1
--encrypt-to
和有什么区别--recipient
?
概括:
使用
--encrypt-to
选项文件中指定的密钥,GPG 会自动将消息和文件加密到您通过选项指定的收件人的公钥--recipient
以及您自己的公钥。结果:您和您的收件人都将能够解密文件或消息。
请阅读 GPG 手册,其中解释了差异:
--recipient name
-r
加密用户 ID 名称。如果
--hidden-recipient
未指定此选项,则 GnuPG 会要求提供用户 ID,除非--default-recipient
给出。
和
--encrypt-to name
与之相同
--recipient
,但此密钥旨在用于选项文件,并可与您自己的用户 ID 一起使用,作为“自我加密”。这些密钥仅在使用或--recipient
由所要求的用户 ID 提供其他收件人时使用。不会对这些用户 ID 执行信任检查,甚至可以使用已禁用的密钥。
来源使用 GNU Privacy Guard:GPG Key 相关选项
文档不太详细/示例可能有用
这里有更多的解释和例子:
“加密到自己”
当您使用该命令加密文件或消息时
--encrypt
,您是在使用其他人的公钥进行加密。奇怪的是,即使您自己加密了文件或消息,您也无法解密该加密文件并访问纯文本。唯一可以解密文件的人是密钥的所有者,该密钥是用于加密文件的公钥的伙伴。这就是非对称公钥加密的本质:您使用公钥加密,使用密钥(私钥)解密。如果您自己不保留纯文本原始文件的副本(出于安全原因,您可能不应该这样做),那么您将无法访问您已加密并发送给其他人的文件和消息。幸运的是,有一个解决方案:选项--encrypt-to
。您可以
--encrypt-to
在选项文件中包括该选项并指定您自己的公钥。该选项通常称为“encrypt-to-self”选项,因为它告诉 GPG 使用您自己的公钥以及收件人的公钥来加密消息。使用--encrypt-to
选项文件中指定的密钥,GPG 会自动将消息和文件加密到您使用该选项指定的收件人的公钥--recipient
以及您自己的公钥。结果:您和您的收件人都将能够解密文件或消息。要在选项文件中使用该
--encrypt-to
选项,请删除前导破折号 ( -- ) 并指定您自己的密钥的密钥 ID。(您可以使用 --list-keys 命令获取您自己的密钥 ID。)例如,Bob(其密钥 ID 为 0x3FAD9F1E)可以在他的选项文件中包含以下行:encrypt-to 0x3FAD9F1E
(请注意,即使 Bob 的密钥包含具有单独密钥 ID 的加密子密钥,他也只是将该密钥 ID 用于他的主密钥。)
现在 Bob 可以加密文件给他的朋友 Phil 了,就像平常一样……
D:\TEMP>gpg --recipient Phil --encrypt my-file.txt D:\TEMP>
...然后自己转身解密文件。
D:\TEMP>gpg --decrypt my-file.gpg You need a passphrase to unlock the secret key for user: "Bob Bone <[email protected]>" 2048-bit ELG-E key, ID AB53B492, created 2001-11-13 (main key ID 3FAD9F1E) Enter passphrase: My_31337_Passphrase gpg: encrypted with 2048-bit ELG-E key, ID 42F0A0A0, created 1997-04-07 "Philip R. Zimmermann <[email protected]>" gpg: encrypted with 2048-bit ELG-E key, ID AB53B492, created 2001-11-13 "Bob Bone <[email protected]>" This is my file. I have many such files. But this is the file I'm working with now. D:\TEMP>