我还想学习如何改进我的搜索策略,因为我相信答案已经在互联网上,只是我没有搜索正确的关键字来找到它。
echo '-----BEGIN PGP MESSAGE [...]' | gpg --show-session-key
在 Linux 的 Windows 子系统(又名 WSL)中,您可以使用 gpg 来执行此操作。 gpg 的一个常见问题是它假设它有一个终端连接(这可能是正确的),并且 GPG_TTY 是一个指向该连接的环境变量(这可能是错误的)。 在这种情况下尝试某些操作的结果将产生
Inappropriate ioctl for device
,您可以使用以下命令修复该问题:
export GPG_TTY=$(tty)
您必须确保用于解密消息的密钥位于您正在使用的系统的密钥环中。 我一直在 Windows 中使用 Kleopatra,但忘记了它使用的密钥环未与 WSL 共享,因此我必须 gpg --import [filename of my key]
并输入我的密码。一旦一切正常,您将获得包含以下内容的输出:
gpg: session key: '3:541FE563...
您可以按照https://security.stackexchange.com/questions/115231/how-to-decrypt-a-message-using-only-session-key中的描述使用它来共享加密消息的内容而不泄露你自己的私钥。 感谢 Localmonero.com(又名 Agoradesk.com)的 Alex 帮助我解决了这个问题。