Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #74, ФЕВРАЛЬ 2005 г.

101 прием работы с OpenSSL

Anton Karpov

Хакер, номер #074, стр. 074-100-5


Почта? SMIME!

В начале статьи мы зашифровывали файлы. А что, если их надо тут же из консоли отправить по почте? Можно, конечно, послать прямо ASCII-текст:

# cat ascii_encoded.txt | mail hacker@email.com

Но тогда получатель получит бессмысленный набор символов. Так что есть способ лучше - S/MIME. Это специальное расширение MIME (Multiple Internet Mail Extensions) для работы с сертификатами. Почтовые клиенты понимают SMIME и обрабатывают smime-вложения соответствующим образом (например, проверяют подпись). Сертификат у нас есть, подпишем им сообщение:

# openssl smime -sign -signer server.crt -inkey server.key -in message.txt -text | mail hacker@email.com

А теперь еще зашифруем:

# openssl smime -encrypt -in message.txt -signer server.crt -inkey server.key -text | openssl smime -encrypt -des3 myserver.crt -out mail.msg | mail hacker@email.com

Очень часто бывает нужно протестировать работу сетевого сервиса. Обычно для этого применяют telnet. Но если сервис работает через SSL? Тогда нас снова спасет openssl:

# openssl s_client -connect myserver:443

Твоему взору предстанет сертификат сервера, проверки, а затем ты увидишь привычный баннер сервера и сможешь передавать команды.

Outro

Т.к. OpenSSL - комплексный и сложный тулкит, его man-страницы нельзя назвать идеальными. Все возможности (ca, smime, rsa, etc) раскиданы по разным файлам. В рамках проекта OpenBSD, славящегося своей отменной документацией, написан свой man openssl: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/openssl/openssl.1. Превратить его в текстовый файл можно с помощью groff:

# groff -man -Tascii openssl.1 > openssl.1.man

Собственно, ничего полезнее тебе напоследок порекомендовать не могу, кроме как внимательно изучить этот документ.

WWW

www.openssl.org

www.openbsd.org

www.stunnel.org

www.opensslbook.com

www2.psy.uq.edu.au/~ftp/Crypto/

Назад на стр. 074-100-4  Содержание