通过telnet发送加密邮件


1

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

我通过telnet发送电子邮件没有问题,但无法弄清楚如何加密邮件。


您是否需要从命令行执行此操作,或者您是否可以编写bash / perl / ...脚本?
Alois Mahdal

只有一条消息,所以没有必要的脚本。但是,应该很清楚,消息是从Telnet发送的(因此电子邮件头中基本上没有User-Agent),因为这是计算机科学任务的一部分。
曲柄

Answers:


1

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

旧方法:内联PGP

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

  1. 将邮件正文(没有标题)放到body.txt

  2. gpg --armor --recipient recipient@example.com --encrypt < body.txt > body.gpg

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

  3. 打开SMTP会话,发送通常的信封和标题,并简单地包含body.gpg作为邮件正文的内容。

    例:

    DATA
     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做。


谢谢,我为什么不首先想到它:D
crank

0

Saying telnet暗示了两件事之一

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

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

我会假设前者。

在最简单的级别,您可以加密消息正文,并在必要时,在调用mail命令之前转换为合适的编码,如base64。

echo "Send reinforcements" \
| gpg -e -a -r 12345 \
| mail -s "C company" powell@example.com 

更新:确定,以便您手动将SMTP命令键入SMTP服务器。

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

您可以将附件创建为外部文件。即使是rot13也能充分证明这一过程。然后你只需要弄清楚要键入的MIME等标题以及如何在telnet会话期间粘贴到合适的编码加密附件中。


实际上,我使用telnet打开一个SMTP会话:)这有可能吗?或者使用与使用telnet会话到SMTP服务器完全相同的邮件?这是我计算机科学课程的一项任务,如果标题中有些模糊不清,他们可能不会接受它:(
曲柄

@crank:最终结果是一样的。我会检查作业的参数。也许您打算通过其他方法了解有关SMTP和MIME的更多信息?
RedGrittyBrick

他们非常清楚使用telnet。我刚检查并邮件添加了User-Agent Heirloom mailx,而来自telnet的直接邮件在电子邮件标题中没有添加User-Agent。是否可以将加密的消息添加到telnet消息中?是的,目前的主题是协议:)
曲柄

@crank:通过一些提示更新答案。
RedGrittyBrick

-1

许多电子邮件客户端(如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是一个开源免费客户端,也支持这一点。


老实说,这是我计算机科学课程的一项任务。我们应该使用telnet向他们发送电子邮件,我已经能够做到这一点,但在另一项任务中,他们希望我们使用telnet向他们发送使用PGP加密的邮件,这就是我真正在努力的地方。我使用的UNIX邮件没有问题,我个人使用雷鸟
曲柄

-1错过了“via telnet”部分的问题
Alois Mahdal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.