26 янв. 2016 г.

Настройка SSL для web-сервисов 1С 8.2

Открываем файл httpd.conf в папке C:\Program Files\Apache Software Foundation\Apache2.2\conf. Находим строку Listen 80, под ней дописываем Listen 443 (стандартный https порт).

Копируем файл openssl.cnf из C:\Program Files\Apache Software Foundation\Apache2.2\conf в C:\Program Files\Apache Software Foundation\Apache2.2\bin.

Создаем ключи.
Т.к. мы создаем их сами и не подписываем в центре сертификации, при первом посещении странички браузеры будут ругаться и предупреждать о безопасности.Для этого:
В командной строке переходим в папку bin апача:
cd “C:\Program Files\Apache Software Foundation\Apache2.2\bin”
Выполняем команду под администратором (или проверяем чтобы были права на каталог):
openssl req -config openssl.cnf -new -out [ЛюбоеИмя].csr

Запоминаем PEM pass prase.
openssl rsa -in privkey.pem -out [ЛюбоеИмя].key
 
Тут понадобится пароль, указанный в предыдущем пункте.
Выполняем:
openssl x509 -in [ЛюбоеИмя].csr -out [ЛюбоеИмя].cert -req -signkey  [ЛюбоеИмя].key -days 5999
, где последний параметр – срок истечения валидности сертификата.
Выполняем:
openssl x509 -in [ЛюбоеИмя].cert -out [ЛюбоеИмя].der.crt -outform DER

В файле httpd.conf ищем строку
#LoadModule ssl_module modules/mod_ssl.so и раскомментируем её (убираем знак решетки).

Создаем папку ssl в C:\Program Files\Apache Software Foundation\Apache2.2\conf и перемещаем файлы my-server.key и my-server.cert из C:\Program Files\Apache Software Foundation\Apache2.2\bin в C:\Program Files\Apache Software Foundation\Apache2.2\conf\ssl.

Идем в самый конец httpd.conf, туда добавляем:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none
</IfModule>

<VirtualHost 192.168.4.118:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key
</VirtualHost>


Обратите внимание на последний блок со строкой, содержащей localhost:443
Вместо localhost надо вписать собственно адрес вашего сервера, по которому и будут идти обращения. Например, mysite.ru:443
Если этого не сделать, то клиент будет видеть странное сообщение об ошибке(в firefox - "SSL получило запись, длина которой превышает максимально допустимую."). И ещё большую странность ему будет добавлять то, что в разных браузерах будут разные сообщения.

Записываем изменения и закрываем httpd.conf

Запускаем редактор реестра (Пуск-выполнить – regedit), переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.2.

Находим параметр ImagePath, и добавляем к его значению ключ -D ssl. Т.е. должно получиться "C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe" -D ssl -k runservice.

Источник: http://infostart.ru/public/146288/

Комментариев нет:

Отправить комментарий