Ключевые слова:crypt, ssl, apache, (найти похожие документы)
From: Roman Sozinov <http://sozinov.blogspot.com>
Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC)
Subject: "time stamping" сервис на базе патча к openssl и модуля mod_tsa
Оригинал: http://sozinov.blogspot.com/2006/11/opentsa.html
OpenTSA
Данное описание затрагивает процесс установки "time stamping" сервиса
на базе патча к openssl и модуля mod_tsa к http-серверу Apache. Проект
открытый, назван OpenTSA и достаточно активно развивается. Итак:
1. Выбранная версия openssl и соответствующий этой версии tsa-патч
ставятся полностью по инструкции. Если в процессе сборки не
возникло критических ошибок, на warning-сообщения можно не обращать
внимания.
2. Apache2 должен быть собран на только что установленном openssl (в
данном случае это /usr/local/openssl-0.9.8c):
./configure --prefix=/usr/local/apache2 --enable-ssl --with-ssl=/usr/local/open
ssl-0.9.8c
make && make install
3. Собрать модуль mod_tsa с помощью apxs из только что установленного
Apache:
tar zxf mod_tsa-xxxxxxxx.tgz
cd mod_tsa
make OPENSSL=/usr/local/openssl-0.9.8c APXS=/opt/apache2/bin/apxs APACHECTL=/op
t/apache2/bin/apachectl
make install OPENSSL=/usr/local/openssl-0.9.8c APXS=/opt/apache2/bin/apxs APACH
ECTL=/opt/apache2/bin/apachectl
4. Подготовить базу данных для хранения timestamp-ответов, создать
пользователя, который будет иметь неограниченный доступ и создать в
готовой базе рабочую таблицу token:
CREATE TABLE `token` (
`token_id` varchar(40) collate utf8_unicode_ci NOT NULL default '',
`token_date` datetime NOT NULL default '0000-00-00 00:00:00',
`token_pkcs7` blob NOT NULL,
PRIMARY KEY (`token_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
5. Сгенерировать приватный ключ и сертификат на только что собранном
openssl, так как он имеет необходимое расширение для сертификатов -
Time Stamping.
/usr/local/openssl-0.9.8c/bin
./openssl genrsa -out server.key 2048
./openssl req -key server.key > server.csr
Отдать сгенерированный csr-файл своему CA, получить в ответ сертификат
с timestamp-расширением, необходимый для функционирования модуля
mod_tsa.
6. Добавить в конфигурацию Apache описание модуля и запустить Apache:
LoadModule tsa_module modules/mod_tsa.so
SetHandler tsa
Order allow,deny
Allow from all
TSASerialFile conf/tsaserial
TSACertificate /usr/local/apache2/conf/server.crt
TSACertificateChain /usr/local/apache2/conf/ca-bundle.crt
TSAKey /usr/local/apache2/conf/server.key
TSADBModule MySQL
TSAMySQLHost localhost
TSAMySQLUser tsa_user
TSAMySQLDatabase tsa_db
# лучше открыть доступ без пароля, иначе при каждом новом старте
# Apache будет спрашивать пароль к БД
TSAMySQLPassPhrase Off
TSAKeyPassPhrase off
TSADefaultPolicy 1.1.2
TSAPolicies 1.1.3 1.1.4
TSAMessageDigests sha1 md5
TSAAccuracy 60 0 0
TSAClockPrecisionDigits 0
TSAOrdering On
TSAIncludeName On
TSAESSCertIdChain On
Полное описание всех используемых директив есть на домашней странице
модуля. Также данный модуль ведет достаточно подробный лог, что может
быть полезным при исправлении встречающихся ошибок.