Для работы защищенного протокола SSL необходимо что бы на веб-сервере имелся SSL-сертификат, для аутентификации сервера клиентом. Если этот сервер расположен в пределах Active Directory желательно использовать сертификат выданный доменным центром сертификации. Корневой сертификат этого ЦС автоматически уже установлен на всех доменных компьютерах.
Приведенный ниже способ вполне подходит для изготовления SSL-сертификатов для веб-серверов Apache, оборудования Zyxel или DLink. В примере используются:
dc-srv.mydomain.local – Windows Server 2003, контроллер домена MYDOMAIN.LOCAL, на нем же располагается центр сертификации и “служба подачи заявок на сертификат через интернет”.
web-srv.mydomain.local – CentOS 6.0, web-сервер Apache на котором располагается хотя бы один виртуальный хост с поддержкой SSL.
1. Запрос к ЦС
Подключаемся к web-серверу (web-srv.mydomain.local) и создаем запрос на выдачу сертификата:
[root@localhost ~]# openssl req -new -newkey rsa:1024 -nodes -keyout web-srv.key -out web-srv.req -subj "/CN=web-srv.mydomain.local/OU=mydomain.local/O=MyCompany/C=RU/ST=Russia/L=Moscow" Generating a 1024 bit RSA private key .........++++++ ...++++++ writing new private key to 'web-srv.key' -----
Параметры:
web-srv.key - ключ web-сервера web-srv.req - запрос на сертификат в кодировке Base64 CN - имя по которому мы будем обращаться к web-серверу OU - имя домена Active Directory O - название корневого центра сертификации ST - страна L - населенный пункт
2. Обрабатываем запрос сертификата
Открываем окне браузера ссылку http://dc-srv.mydomain.local/certsrv/ – web-форма для запроса сертификата Active Directory; и выбираем “Запрос сертификата”:
Далее выбираем “расширенный запрос сертификата”
Выбираем “Выдать запрос, используя base-64 шифрованный файл PKCS #10, или выдать запрос обновления, используя base-64 шифрованный файл PKCS #7″
В окно “Сохранный запрос” переносим содержимое созданного ранее файла web-srv.req; “Шаблон сертификата” выбираем “Веб-сервер” и нажимаем “Выдать”.
На последней странице выбираем “DER-шифрование” и “Загрузить сертификат”.
3. Конвертируем и устанавливаем сертификат
Загруженный сертификат certnew.cer нужно передать на веб-сервер любым удобным способом и положить в папку /root. Конвертируем сертификат из DER в формат PEM:
[root@localhost ~]# openssl x509 -in certnew.cer -inform DER -out web-srv.pem -outform PEM
Переносим файлы сертификата и ключа в предназначенные для них папки:
[root@localhost ~]# mv web-srv.key /etc/pki/tls/private/ [root@localhost ~]# mv web-srv.pem /etc/pki/tls/certs/
В случае использования запрещающего режима SELinux восстанавливаем контекст в папках с новыми ключем и сетрификатом:
[root@localhost ~]# restorecon -v -R /etc/pki/tls/certs/ restorecon reset /etc/pki/tls/certs/web-srv.pem context unconfined_u:object_r:admin_home_t:s0->system_u:object_r:cert_t:s0 [root@localhost ~]# restorecon -v -R /etc/pki/tls/private restorecon reset /etc/pki/tls/private/web-srv.key context unconfined_u:object_r:admin_home_t:s0->system_u:object_r:cert_t:s0
В конфигурационных файлах apache, внутри нужного виртуального хоста с включенным SSL, меняем значение параметров:
SSLCertificateFile /etc/pki/tls/certs/web-srv.pem SSLCertificateKeyFile /etc/pki/tls/private/web-srv.key
В моем случае сертификат относится к дефолтному хосту, теперь переходим по ссылке https://web-srv.mydomain.local.
Просматриваем сертификат:
Ура, сертификат действителен и выдан доменным удостоверяющим центром MyCompany.
Один комментарий : “Apache и сертификаты из Active Directory”
Наш центр сертификации предлагает клиентам достаточно широкий спектр услуг в области сертификации. Благодаря нашей помощи Вы в самые короткие сроки сможете в полном объеме оформить ряд документов, а точнее:сертификат соответствия, декларацию соответствия, сертификат евро 4, сертификат пожарной безопасности, и многое другое.
тел.+7(812)702-56-21
http://www.sertifikat-spb.ru