如何在 Mac 上使用 OpenPGP 加密和签名文件

如何在 Mac 上使用 OpenPGP 加密和签名文件

我担心我可能发送了一条未加密的消息,而我以为它已经加密并签名了。我很少在 Mac 上使用 OpenPGP(我记不清上次是什么时候了),所以我想了解发生了什么。

首先,我右键单击该文件,然后服务,最后OpenPGP:加密文件. 一个带有标题的窗口漂浮在背景中Encrypting file.txt

在此处输入图片描述

选择收件人我选择并突出显示收件人。我还检查了符号

在此处输入图片描述

GPGservice 运行,闪烁一个 Growl 窗口,表示加密已完成,并将文件放在名为的文件系统上file.txt.gpg

接下来,我双击file.txt.gpg. GPGservice 再次运行,闪现一条 Growl 消息,表示解密已完成,并将另一个文件放在名为file 2.txt.然后我检查file 2.txt,其为明文消息。

我已经重复了四五次了。前几次是因为不相信,另外两次是为了截屏。我相当确定我描述的是我执行的确切步骤。它也与 GPGTools 支持文章一致如何使用 GPGServices 加密和签名文本或文件?

我怎么可能解密用他人公钥加密的文件?我知道这是不可能的,那么到底发生了什么?

更重要的是,如何在 Mac 上使用 OpenPGP 加密和签名文件?(我不得不问这个愚蠢的问题,因为事情似乎没有像广告或预期的那样运作)。

答案1

我怎么可能解密用他人公钥加密的文件?我知道这是不可能的,那么到底发生了什么?

作为添加到收件人使用您自己的密钥进行检查,该消息不仅对实际收件人进行加密,而且对您自己的密钥进行加密(因此您也可以随后对其进行解密)。

分析 OpenPGP 消息内容的最安全方法可能是进入终端并运行gpg --list-packets [filename]。对于加密消息,您将看到类似以下几行

:pubkey enc packet: version 3, algo 1, keyid CC73B287A4388025

它们中的每一个都表示一条消息是使用这个公钥加密的,由其密钥 ID 引用。还会有额外的行,不必在意它们(如果你不熟悉,输出结果可能不太容易阅读和理解RFC 4880,OpenPGP)。

更重要的是,如何在 Mac 上使用 OpenPGP 加密和签名文件?(我不得不问这个愚蠢的问题,因为事情似乎没有像广告或预期的那样运作)。

您选择的方法似乎是可行的 - 如果您更喜欢使用命令行,那么等效的方法就是

gpg --recipient [key-id] --output file.txt.gpg --sign --encrypt file.txt

相关内容