У меня есть открытый ключ OpenPGP, и мне нужно отправить зашифрованное письмо с помощью telnet. Однако я не могу найти ничего, связанного с этой темой.
У меня нет проблем с отправкой электронной почты через telnet, но не могу понять, как зашифровать почту.
решение1
Перед отправкой вам придется зашифровать текст сообщения.
Старый метод: Встроенный PGP
Ранее сообщения, зашифрованные PGP, включались непосредственно в тело сообщения. Это просто и позволяет использовать программы, в которых отсутствует встроенная поддержка PGP, но есть свои проблемы.
Поместите тело сообщения (без заголовков) в
body.txt
.gpg --armor --recipient [email protected] --encrypt < body.txt > body.gpg
(или
gpg -a -r .... -e
)Откройте сеанс SMTP, отправьте обычный конверт и заголовки ипросто включите содержимое в
body.gpg
текст сообщения.Пример:
ДАННЫЕ 354 Отправить сообщение Тема: Зашифрованное сообщение Тип содержимого: текст/обычный; кодировка=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 и используете его инструменты командной строки, такие как
mail
.вы используете telnet для открытия сеанса SMTP на SMTP-сервере и вручную вводите команды SMTP.
Я предположу первое.
На самом простом уровне вы можете зашифровать тело сообщения и, при необходимости, преобразовать его в подходящую кодировку, например base64, перед вызовом команды mail.
echo "Send reinforcements" \
| gpg -e -a -r 12345 \
| mail -s "C company" [email protected]
Обновление: Итак, вы вручную вводите команды SMTP на SMTP-сервере.
Узнайте, как сериализуются вложения. Прочитайте RFC для вложений MIME. Используйте Thunderbird для просмотра источника короткого сообщения с небольшим вложением ( Ctrl+ uIIRC). Найдите различные способы кодирования двоичных вложений, чтобы они могли проходить через 7-битный ASCII или 8-битный канал.
Вы можете создать вложение как внешний файл. Даже rot13 продемонстрирует процесс адекватно. Затем вам просто нужно разобраться, какие заголовки MIME и т. д. вводить и как вставлять подходящее закодированное зашифрованное вложение во время сеанса telnet.
решение3
Многие почтовые клиенты, такие как Microsoft Outlook, поддерживают шифрование. Шифрование и дешифрование — это работа почтового клиента, а не транспортного механизма.
Для ясности: Telnet — это сетевой протокол (http://en.wikipedia.org/wiki/Telnet) как и TCP. Протокол не имеет ничего общего с шифрованием. Большинство почтовых клиентов используют TCP/IP для отправки и получения электронной почты через Интернет. Одним из часто используемых протоколов, используемых почтовыми клиентами для отправки электронной почты на сервер, является Simple Mail Transport Protocol (SMTP). При отправке зашифрованного электронного письма шифрование должно выполняться до передачи сообщения протоколу.
Какой почтовый клиент вы используете? Поддерживает ли он шифрование? Если нет, возможно, вам следует попробовать использовать другой почтовый клиент, который поддерживает, многие поддерживают.
Один из многих бесплатных клиентов, которые это поддерживают — Eudora. Вот описание того, как это настроить:http://www.ncsa.illinois.edu/people/hkhurana/mithril/Help-SecureEmail.htm
Mozilla Thunderbird — бесплатный клиент с открытым исходным кодом, который также поддерживает эту функцию.