Как установить: OpenSSL + WAMP - PullRequest
6 голосов
/ 17 февраля 2012

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

Ответы [ 4 ]

11 голосов
/ 02 августа 2014

Руководство: Openssl в WampServer 2.5

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

Система-Variable

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

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

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

    ..
    demoCA
    |-----certs
    |-----crl
    |-----newcerts
    |-----private
    

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

  • Я следовал Neil C. Obremski советам и очистил следующие значения по умолчанию:
    • countryName_default (было "AU")
    • stateOrProvinceName_default (было "Some-State")
    • 0.organizationName_default (было "Internet Widgits Pty Ltd")
    • organizUnitName_default (было уже пусто)

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

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

    Loading 'screen' into random state - done
    Generating a 1024 bit RSA private key
    .......................++++++
    ....++++++
    writing new private key to 'cacert.pem'
    Enter PEM pass phrase: my_secret_pass
    Verifying - Enter PEM pass phrase: my_secret_pass
    `-----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    `-----
    Country Name (2 letter code) []:
    State or Province Name (full name) []:
    Locality Name (eg, city) []:
    Organization Name (eg, company) []:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:local
    Email Address []:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    
    C:\wamp\bin\apache\apache2.4.9\bin>
    
  • В том же окне консоли теперь используйте «openssl rsa -in cacert.pem -out cacert.key» и, если требуется, введите ранее введенный пароль.

    Enter pass phrase for cacert.pem: my_secret_pass
    writing RSA key
    
  • Удалите файл «.rnd» в C: \ wamp \ bin \ apache \ apache2.4.9 \ bin

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

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

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

  • 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:

<IfModule status_module>

ExtendedStatus On
<Location /server-status>
    SetHandler server-status
</Location>

</IfModule>

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

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
  • Я наконец-то знаю, почему АНБ может легко взломать серверы с таким сложным процессом: D
  • Поскольку Wamp объединяет apache вместе с OpenSSL, возможно, лучше установить его отдельно *
8 голосов
/ 25 февраля 2013

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

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

  • Нажав на значок WAMP в системном трее,
  • Наведение на "PHP" ,
  • Затем "PHP-расширения" ,
  • Затем очень внимательно ищем "php_openssl" в длинном списке расширений.
2 голосов
/ 15 декабря 2015

После выполнения превосходных инструкций от KAGRAN22 я натолкнулся на 2 ошибки:

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.

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

0 голосов
/ 20 декабря 2013

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

...