Как установить: OpenSSL + WAMP

Кто-нибудь здесь имеет четкие и подробные инструкции о том, как получить SSL на моей локальной машине разработки? Я установил последнюю версию WAMP (2.2c) на c: \ wamp. Инструкции, которые я нахожу в сети, кажутся устаревшими в большинстве случаев и не нуждаются в деталях, которые мне нужны, чтобы все было сделано правильно.

Guide: Openssl в WampServer 2.5

Предварительное условие : обычно нет необходимости устанавливать openssl (он поставляется в комплекте с Wamp). Apache 2.4.9 включает, например, 1.0.1g.

Системная переменная :

  • Откройте панель системы Windows («WIN + Q» Search: system)> Расширенные настройки системы> Дополнительно> Переменные среды
  • Добавьте новую запись в системные переменные с именем OPENSSL_CONF и ее значением является путь к openssl.cnf (обычно такие вещи, как C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ openssl.cnf)

Структура папок openssl :

  • В C: \ wamp \ bin \ apache \ apache #. #. # \ Conf создайте следующую структуру папок:

     ..
     demoCA
     | ----- сертификаты
     | ----- CRL
     | ----- newcerts
     | ----- частный
    

Настройка openssl.cnf :

  • Я последовал совету Нила К. Обремского и очистил следующие значения по умолчанию:
    • countryName_default (был «AU»)
    • stateOrProvinceName_default (было «Some-State»)
    • 0.organizationName_default (был «Интернет Widgits Pty Ltd»)
    • organizationUnitName_default (уже был пуст)

Создание сертификата :

  • Из командной строки перейдите к C: \ wamp \ bin \ apache \ apache #. #. # \ Bin \ и вызовите “openssl req -new -out cacert.csr -keyout cacert.pem”. При запросе введите пароль, а затем информацию о DN, как показано ниже.

     Загрузка экрана в случайное состояние.
     Создание 1024-битного секретного ключа RSA
     ....................... ++++++
     .... ++++++
     запись нового закрытого ключа в 'cacert.pem'
     Введите фразу для передачи PEM: my_secret_pass
     Подтверждение - введите фразу имени PEM: my_secret_pass
     `-----
     Вас попросят ввести информацию, которая будет включена
     в ваш запрос сертификата.
     То, что вы собираетесь ввести, - это то, что называется Distinguished Name или DN.
     Есть довольно много полей, но вы можете оставить некоторые пробелы
     Для некоторых полей будет значение по умолчанию,
     Если вы введете «.», Поле останется пустым.
     `-----
     Название страны (2-буквенный код) []:
     Название штата или провинции (полное название) []:
     Название местности (например, город) []:
     Название организации (например, компания) []:
     Название организационной единицы (например, раздел) []:
     Общее имя (например, полное доменное имя сервера или ваше имя) []: местный
     Адрес электронной почты []:
    
     Введите следующие дополнительные атрибуты
     для отправки с вашим запросом сертификата
     Пароль с запросом []:
     Дополнительное название компании []:
    
     C: \ WAMP \ Bin \ Apache \ apache2.4.9 \ Bin>
    
  • В том же окне консоли теперь используйте «openssl rsa -in cacert.pem -out cacert.key», и если его попросят ввести ранее введенный пароль.

     Введите пароль для cacert.pem: my_secret_pass
     запись ключа RSA
    
  • Удалите файл .rnd в папке C: \ wamp \ bin \ apache \ apache2.4.9 \ bin

  • Все еще в том же окне вызывается «openssl x509 -in cacert.csr -out cacert.cert -req -signkey cacert.key -days 365». Если возникла следующая ошибка: «невозможно записать« случайное состояние ». Это известная ошибка ! Для обхода этого вызова «set RANDFILE = .rnd» и повторите попытку предыдущей команды.

Поздравляем, что вы теперь являетесь владельцем самоподписанного сертификата!

Я поместил встроенные файлы (они в настоящее время находятся в папке bin) по этому сайту :

  • cacert.pem, cacert.key в C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ private
  • cacert.cert, cacert.csr в C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ certs

В httpd.conf включить SLL (выполнить поиск «#Include conf / extra / httpd-ssl.conf») + изменить следующие записи в httpd-ssl.conf:

SSLSessionCache "shmcb:C:/wamp/logs/ssl_scache(512000)" DocumentRoot "C:/wamp/www" #ErrorLog #TransferLog SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/certs/cacert.cert" SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/private/cacert.key" CustomLog "C:/wamp/logs/ssl_request.log" \ 

Теперь протестируйте свою установку Apache, вызвав httpd -t. Если вы получите следующую ошибку: «SSLSessionCache: кеш сеанса« shmcb »не поддерживается (известные имена:). Может быть, вам нужно загрузить соответствующий модуль socache (mod_socache_shmcb?)». включите следующую запись «LoadModule socache_shmcb_module modules / mod_socache_shmcb.so» в httpd.conf

Теперь Wamp настроен с поддержкой https 🙂

Я также включил «LoadModule status_module modules / mod_status.so», используя следующую конфигурацию в httpd.conf:

  ExtendedStatus On  SetHandler server-status   

Теперь вы можете проверить статус своего сервера здесь

 https://localhost/server-status/ 

Apache / 2.4.9 (Win64) OpenSSL / 1.0.1g PHP / 5.5.12 Сервер на локальном хосте Порт 443

Примечания :

  • Я сделал это, пытаясь заставить его работать на моей машине (это была моя первая попытка использовать OpenSSL для windows / wamp).
  • Это руководство не предназначено для производственных систем!
  • Возможно, вам придется изменить несколько вещей, таких как имена, в зависимости от вашего openssl.cnf
  • Мое намерение состояло не в том, чтобы сделать лучший учебник, а вместо этого просто отметить все необходимые изменения, чтобы заставить SSL работать в WAMP.
  • Убедитесь, что вы указали правильную сумму за свой сертификат x509
  • Я, наконец, знаю, почему NSA может легко врываться на серверы с таким сложным процессом: D
  • Поскольку Wamp связывает Apache вместе с OpenSSL, может быть, лучше установить его отдельно?

У меня установлен WAMP 2.2E.

Я столкнулся с одной и той же проблемой, и примерно через час поиска в Интернете и попыток разного рода вещей я наткнулся на то, что openssl можно включить:

  • Нажав на значок WAMP на панели задач,
  • Наведите указатель мыши на «PHP» ,
  • Затем «Расширения PHP» ,
  • Затем очень внимательно посмотрите на «php_openssl» в длинном списке расширений.

Следуя отличным инструкциям KAGRAN22, я столкнулся с двумя ошибками:

 AH00526: Syntax error on line 48 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration 

Эта ошибка устраняется путем раскомментации этой строки

 LoadModule ssl_module modules/mod_ssl.so 

в httpd.conf.

Затем я получил следующее:

 AH00526: Syntax error on line 74 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?). 

Который разрешен, раскомментируя эту строку

 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

в httpd.conf.

После этого все должно работать.

Факты. Невозможно настроить SSL на WampServer Version 2.4, по крайней мере, не в разумные сроки. Нормальный человек не должен интересоваться этим, потому что это не практичный и нормальный способ делать что-то. SSL на Wamp – это базовая машина SM, поэтому, если у вас есть какие-то мазохистские потребности, пожалуйста, продолжайте это.

  • Как изменить порт mysql
  • Служба WAMP MySQL не запускается
  • Давайте будем гением компьютера.