通过 telnet 发送加密邮件

通过 telnet 发送加密邮件

我有一个公共 OpenPGP 密钥,需要使用 telnet 发送加密电子邮件。但是,我找不到与此主题相关的任何内容。

我通过 telnet 发送电子邮件没有问题,但不知道如何加密邮件。

答案1

您必须在发送之前加密消息文本。

旧方法:内联 PGP

以前,PGP 加密消息直接包含在消息正文中。这很简单,并且允许使用缺乏内置 PGP 支持的程序,但它也有自己的问题。

  1. 将邮件正文(不带标题)放入body.txt

  2. gpg --armor --recipient [email protected] --encrypt < body.txt > body.gpg

    (或者gpg -a -r .... -e

  3. 打开 SMTP 会话,发送常用的信封和标题,然后body.gpg只需包含邮件正文的内容即可。

    例子:

    数据
    354 发送消息
    主题:加密邮件
    内容类型:text/plain;字符集=utf-8
    
    -----开始 PGP 消息-----
    版本:GnuPG v1.4.11(GNU/Linux)
    
    owE7bZ3E4C/NHB6SkVmsUJ5YnKdeolCUmpiTU6mQmpdcVFlQkpqio5BUWqJQmV+q
    kJ5aolCSkapQkJ+ZV6LHBQA=
    =JTcg
    -----结束 PGP 消息-----
    250 已排队
    

新方法:PGP/MIME

大多数邮件客户端现在都会创建如下所示的多部分 MIME 消息:

Subject: Encrypted message
Content-Type: multipart/encrypted;
    protocol="application/pgp-encrypted";
    boundary="5mzSFVMjvq1PjxJCWywcUUnUEVIaXOtp"

--5mzSFVMjvq1PjxJCWywcUUnUEVIaXOtp
Content-Type: application/pgp-encrypted

Version: 1

--5mzSFVMjvq1PjxJCWywcUUnUEVIaXOtp
Content-Type: application/octet-stream

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

owE7bZ3E4C/NHB6SkVmsUJ5YnKdeolCUmpiTU6mQmpdcVFlQkpqio5BUWqJQmV+q
kJ5aolCSkapQkJ+ZV6LHBQA=
=JTcg
-----END PGP MESSAGE-----

--5mzSFVMjvq1PjxJCWywcUUnUEVIaXOtp--

不要为此烦恼,让 MUA 来做吧。

答案2

这句话telnet暗示了两件事之一

  • 您正在使用 telnet 在 Unix 服务器上打开 shell 会话并使用其命令行工具,例如mail

  • 您正在使用 telnet 打开到 SMTP 服务器的 SMTP 会话并手动输入 SMTP 命令。

我认为是前者。

在最简单的级别上,您可以加密邮件正文,并且如果需要,在调用邮件命令之前将其转换为合适的编码,例如 base64。

echo "Send reinforcements" \
| gpg -e -a -r 12345 \
| mail -s "C company" [email protected] 

更新:好的,您正在手动在 SMTP 服务器中输入 SMTP 命令。

了解附件是如何序列化的。阅读 MIME 附件的 RFC。使用 Thunderbird 查看带有小附件的短消息的来源(Ctrl+ uIIRC)。查找二进制附件的各种编码方式,以便它们可以通过 7 位 ASCII 或 8 位通道。

您可以将附件创建为外部文件。甚至 rot13 也可以充分演示该过程。然后,您只需确定要输入哪些 MIME 等标题以及如何在 telnet 会话期间粘贴合适的编码加密附件即可。

答案3

许多电子邮件客户端(例如 Microsoft Outlook)都支持加密。加密和解密是电子邮件客户端的工作,而不是传输机制的工作。

需要澄清的是,Telnet 是一种网络协议(http://en.wikipedia.org/wiki/Telnet) 就像 TCP 一样。该协议与加密无关。大多数邮件客户端使用 TCP/IP 通过互联网发送和接收电子邮件。邮件客户端用于向服务器发送电子邮件的一种常用协议是简单邮件传输协议 (SMTP)。发送加密电子邮件时,必须在将消息交给协议之前进行加密。

您使用的是哪个电子邮件客户端?它支持加密吗?如果不支持,也许您应该尝试使用其他支持加密的电子邮件客户端,很多客户端都支持加密。

支持此功能的众多免费客户端之一是 Eudora。以下是有关如何设置的说明:http://www.ncsa.illinois.edu/people/hkhurana/mithril/Help-SecureEmail.htm

Mozilla Thunderbird 是一个开源免费客户端,也支持此功能。

相关内容