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/ |