https://www.sslforfree.com/ (тут чуть проще и быстрее создавать)
среда, 13 февраля 2019 г.
суббота, 11 июня 2016 г.
OpenSSL для Apache под Windows Server
При генерации сертификата вылетала вот такая ошибка:
WARNING: can't open config file: c:/openssl-1.0.2g-win64/ssl/openssl.cnf
Решение в моем случае было таким:
set OPENSSL_CONF=D:\iServer\Apache\conf\openssl.cnf
надо было прописать в переменную окружения путь к файлу конфига
найдено тут http://impradeep.com/warning-cant-open-config-file-copenssl-1-0-1esslopenssl-cnf/
WARNING: can’t open config file: c:/openssl-1.0.1e/ssl/openssl.cnf
Unable to load config info from c:/openssl-1.0.1e/ssl/openssl.cnf
This error occurs mainly on windows when you are using openssl package, The reason is that openssl failed to locate the openssl.cnf file.
There is an environment variable called OPENSSL_CONF that can be set.
I will recommend that you do the following (one windows only)
In my case I set the environment variable like this –
set OPENSSL_CONF=E:\ApacheSoftwareFoundation\Apache2.2\conf\openssl.cnf
A tricky part of getting it to work is with the openssl.cnf file itself. Windows shows it as a file type “SpeedDial” and hides the extension so the filename looks like it is just “openssl”. I tried renaming it to “openssl.cnf”. That looks correct in windows explorer but if you look at the filename in a dos window the actual filename became “openssl.cnf.cnf”. So even though Windows shows the name without the .cnf extension it is there. That was confusing because I have my explorer set to not hide file extensions.
Remember that every-time you open a command prompt you have to run the above command unless you set this as your environment variable.
И кроме того после настройки сертификатов так Apache не запускался по ошибке:
Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration
Ошибка была тут SSLMutex default
Эта команда не поддерживается после Apache 2.2 вместо нее надо использовать
Mutex default
Решение найдено тут http://stackoverflow.com/questions/13969272/apache-sslmutex-issue
пятница, 2 августа 2013 г.
CSR decoder – если надо посмотреть содежимое запроса на сертификат
Очень полезная штучка, когда надо покупать SSL сертификат, чтобы еще раз убедится в правильности составленного запроса на сертификат.
понедельник, 14 января 2008 г.
Установка Apache + OpenSSL на Windows
Другие дистрибутивы не проверял. Установку проводил на Windwos XP, но все это будет работать и на серверных осях.
1) Скачиваем дистрибутив Apache для win32 с поддержкой SSL (на текущий момент это apache_2.2.6-win32-x86-openssl-0.9.8e.msi) и запускаем установку. Скачать можно тут http://www.sai.msu.su/apache/httpd/binaries/win32/
2) На этом экране жмем Next
3) Далее соглашаемся с лицензией (иначе ни как :) )
4) Вдумчиво читаем во это :), если есть время :)
5) Заполняем поля как показано ниже (потом все это можно изменить в файле конфигурации httpd.conf)
6) Выбираем Custom (мы же умные :) )
7) Выбираем каталог для установки. Путь может быть любой, но лучше избегать пробелов в названиях папок. Далее (в других статьях) все примеры будут относительно этого пути. Так что бдите :) ПУТЬ и да пребудет с вами Сила. Омммм.....
8) Жмем Next, затем Install и пошла установка... Пару раз всплывет консолька, это удаляются временные файлы и устанавливается Apache как сервис. В трее появится значок для управления сервисом Apache.
9) Проверяем установку. Просто вводим в строке браузера localhost. И видим страничку с надписью It works! как показано на рисунке ниже.
Если такого не увидели, то повторяем шаги от 1 до 9 пока не увидим. :)
10) Правим файлик httpd.conf, который в моем случае лежит в папочке Z:\WAMPServer\Apache\conf
Добавляем туда строчку Listen 443 под строкой Listen 80, как показано на рисунке ниже.
11) Рестартуем Apache. И вводим в строке броузера http://localhost:443/ и наблюдаем в браузере надпись It works! как показано на картинке ниже. И погодите радоваться :) Это еще не SSL, это просто проверка того, что Apache слушает на 443 потру.
Если не видим, то пробуем остановить Apache и запустить его снова (иногда рестарт не помогает). Если и это не помогло, то повторяем шаги с 1 по 11 пока не увидим :)
12) Далее копируем из папочки Z:\WAMPServer\Apache\bin два файлика ssleay32.dll и libeay32.dll в каталог %systemroot%\system32. Внимание!!! Это очень важный шаг! Не пропустите его!
13) Копируем файлик openssl.cnf из каталога Z:\WAMPServer\Apache\conf в каталог Z:\WAMPServer\Apache\bin
14) Создаем сертификат для нашего сервера. Для этого заходим в каталог Z:\WAMPServer\Apache\bin (консолью или FAR-ом) и там вводим команду:
openssl req -config openssl.cnf -new -out my-server.csr
И отвечаем на все вопросы. Как показано на картинке (пароль естественно не виден, вообще вы можете ввести здесь все что угодно или просто ставить точку в ответе, тогда это поле останется пустым, единственное исключение составляет вопрос Common Name, здесь надо ввести доменное имя для которого будет использоваться сертификат, например www.vasya.ru, в нашем случае localhost):
После этого в каталоге Z:\WAMPServer\Apache\bin образуется файлик my-server.csr
Далее последовательно даем команды:
openssl rsa -in privkey.pem -out my-server.key
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
15) Создаем каталог ssl в каталоге Z:\WAMPServer\Apache\conf и перемещаем туда файлики my-server.key и my-server.cert из каталога Z:\WAMPServer\Apache\bin
16) В файле httpd.conf находим и раскоментируем строчку
LoadModule ssl_module modules/mod_ssl.so
Далее идем в конец фала и видим там блок:
<IfModule ssl_module>SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>Приводим его к следующему виду:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLMutex default
SSLSessionCache none</IfModule>
Далее в конце добавляем следующее:
<VirtualHost localhost:443>
SSLEngine On
SSLCertificateFile conf/ssl/my-server.cert
SSLCertificateKeyFile conf/ssl/my-server.key</VirtualHost>
В конечном итоге это должно выглядеть как на картинке ниже:
17) Останавливаем Apache если он был запущен и запускаем его из командной строки с ключом -D SSL. Для этого даем команду
Z:\WAMPServer\Apache\bin>httpd.exe -D SSL
Запускать лучше из командной строки с ключом отладки SSL, чтобы можно было увидеть ошибки.
18) В строке браузера вводим https://localhost/ (именно HTTPS) и видим следующее (это при условии что у вас IE7):
Это означает что все работает. Просто нас предупреждают, что сертификат данного узла не был выпущен доверенным центром сертификации, и это правильно, так как сертификат выпустили мы сами :). Жмем Продолжить открытие этого веб-узла и видим следующую картинку:
Итак, все работает :)! Если у вас не заработало, то вдумчиво повторяем шаги с 1 по 18 пока не заработает :)