Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

ВЕБ ПОД ЗАМКОМ!
Технологии для создания защищенных соединений

Kirion (kkr@mailru.com)

Спецвыпуск Xakep, номер #030, стр. 030-014-5


СЕРТИФИКАЦИЯ И УСТАНОВКА

Ну а теперь, когда ты окончательно созрел к установке SSL на свой проект, потрем о процедуре получения сертификата. Будешь ли ты подписывать его сам или решишь раскошелиться на подпись в CA - это неважно. Сгенерировать собственный сертификат тебе придется либо с помощью OpenSSL, либо с помощью Microsoft Cerificate Services. Если ты используешь для сайта ISS или тебе нужен сертификат для работы в корпоративной сети на основе Win2k с Active Directory, то лучше выбрать продукт от мелкомягких. Если же ты будешь пользоваться Апачем (все равно, под какую платформу) - то выбирай OpenSSL. MCS 2.0 входит в поставку Win2k advanced server. Вариантов установки много. Нумбер ван: лезем в "установка и удаление программ > компоненты Windows". Там выбираем "Служба сертификации". Если в сети имеется Active directory, то будет предложено создать сертификат для работы в корпоративной сети (подозреваю, что тебе это на фиг не нужно :)). В любом случае нас будут интересовать только два последних пункта: создание корневого сертификата и создание подчиненного сертификата. Если решил подписывать все сам - выбирай первый пункт. Далее внимательно заполняй все поля формы и сохрани сертификат в файл - еще пригодится. После всей процедуры на компе стартует MSC, и ты сможешь сам подписывать сертификаты другим людям. Можешь даже брать с них деньги :). А можешь легко прикрутить его к работающему на том же компе IIS. Способ нумбер ту: если в сети уже есть работающая служба MSC, то ты можешь обратиться к ней через оснастку "Сертификаты" (пуск > выполнить > certmgr.msc) или с помощью браузера, введя что-то вроде http://имя сервера/CertSrv. Заполняешь анкету, сохраняешь сертификат.

С мелкомягкими закончили, перейдем к OpenSSL. Эту прогу можно скачать в исходниках с www.openssl.org. Естественно, она предназначена для юниха, однако на сайте есть инструкции, что надо поменять в исходниках, чтобы они откомпилились под виндами. OpenSSL - прога для командной строки. Поддерживает SSL 3.0 и кучу алгоритмов шифрования. Фактически это стандарт. Если ты собираешься использовать OpenSSL вместе с Апачем на своем компе, то придется зайти на www.modssl.org. ModSSL - это интерфейс OpenSSL для Апача. Если хоть раз прикручивал модули (тот же modperl, например) - разберешься, в крайнем случае заглянешь в документацию. Только сначала нужно собрать OpenSSL. Если тебе совсем уж в лом изучать документацию, можно скачать с сайта разработчика перловый скрипт (CA.pl), облегчающий создание и подпись сертификатов. Но лучше все же почитать про все возможности командной строки, дабы правильно выбрать формат ключа, разрядность и т.д. В общем случае нам надо сгенерировать ключ, потом создать запрос на получение сертификата, а потом его подписать. Можно это сделать так: "openssl genrsa -out key.pem 1024" - сгенерировали 1024-разрядный ключ по алгоритму RSA в формате pem. "openssl req -new -key key.pem -out req.pem" - создали запрос в формате pem (тут придется отвечать на вопросы про реквизиты; не стоит тупо шутить - это потом увидят все люди, устанавливающие твой сертификат). "openssl x509 -days 365 -req -in req.pem -signkey key.pem -out cert.pem" - подписали свой сертификат на год. Можно было все сделать и в одной команде: "openssl req -x509 -days 365 -newkey rsa:1024 -keyout key.pem -out req.pem". Возможностей очень много: тут и куча видов шифрования, и перевод в другие форматы и алгоритмы. Хотя, скорее всего, тебе понадобятся только генерация да подпись.

Назад на стр. 030-014-4  Содержание  Вперед на стр. 030-014-6