Установка SSL на сервере Wamp: ошибка в httpd-ssl.conf

Я пытаюсь установить ssl на локальный хост, я использовал http://madurad.wordpress.com/2014/04/25/redirect-http-to-https-with-wamp-server/ и многие другие, но не смог добиться успеха. Я застрял в синтаксисе httpd-ssl.conf. мой сервер apache сбрасывается, когда я устанавливаю

<Directory "c:/wamp/www/"> 
   Options Indexes FollowSymLinks  
   AllowOverride all 
   Require all granted 
   SSLOptions +StdEnvVars
</Directory>

Я пробовал много других, таких как

<Directory "c:/wamp/www/"> 
   SSLOptions +StdEnvVars
</Directory>

что проблема не в состоянии получить....

Ответы

Ответ 1

Как настроить WAMPServer для использования протокола HTTPS SSL

* Это не тривиальный процесс. Этот урок, надеюсь, заставит работать SSL для вас. Однако, если он настроен правильно, когда он работает, ПОЛНОСТЬЮ ДОЛЖЕН ВАС.

Дополнительное чтение для всех, кто путешествует по этой дороге

Хорошо,

Я основал этот учебник по созданию сайта под названием www.wamphelpers.dev Итак, если вы видите, что это имя меняет его на имя сайта, которое вы пытаетесь защитить.

Я начал с создания незащищенного сайта в \wamp\www\wamphelpers

добавлен виртуальный хост для этого сайта, в \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/wamphelpers"
    ServerName wamphelpers.dev
    ServerAlias www.wamphelpers.dev
    <Directory  "c:/wamp/www/wamphelpers">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Добавлено его доменное имя в C:\windows\system32\drivers\etc\hosts

Некоторые антивирусные проверки блокируют доступ к файлу HOSTS, поэтому вам может потребоваться отключить проверку вашего вируса или настроить его на временное блокирование файла hosts.

127.0.0.1 wamphelpers.dev www.wamphelpers.dev
::1       wamphelpers.dev www.wamphelpers.dev

Теперь перезапустите dnscache следующим образом из окон команд, запущенных с использованием команды "Запуск от имени администратора"

net stop dnscache
net start dnscache

Затем был создан простой script в \wamp\www\wamphelpers\index.php

<?php
    echo 'Hello, this is the WAMPHELPERS.DEV site homepage';
?>

Теперь, чтобы активировать новые виртуальные хосты, которые вы определили, отредактируйте \wamp\bin\apache\apache{version}\conf\httpd.conf и найдите эту строку

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

и удалите символ комментария # так

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Сохраните файл.

Теперь перезапустите Apache и убедитесь, что ваш простой незащищенный сайт с виртуальной хостингом работает , прежде чем продолжить.


Инструментарий openssl. Файлы openssl.exe, ssleay32.dll и libeay32.dll входят и находятся в папке C:\wamp\bin\apache\apachex.y.z\bin Это должно быть все, что вам нужно, чтобы создать свой собственный сертификат!

ОДНАКО: Это не работало для меня ни на одной из версий Apache, которые я установил. Я всегда получал это сообщение об ошибке.

error message

Если порядковый номер изменился в зависимости от папки версии apache, в которой я находился.

Если вы получите эту ошибку, не беспокойтесь, это то, что вам нужно сделать.

установите последнюю версию OPENSSL TOOLKIT

Это можно получить здесь

ПРИМЕЧАНИЕ.. Пока не используйте версию V1.1, команда PHP еще не скомпилировала PHP с этими новыми связями, поэтому придерживайтесь версии V1.0.? версии до тех пор, пока они не сделают.

Выберите последнюю версию "Win32 OpenSSLv xxx Light" или "Win64 OpenSSLv xxx Light" в соответствии с вашей установленной версией WAMPServer, так как это все, что вам нужно.

Это загрузит файл .exe, который вы можете запустить для установки этого инструментария.

Он задаст следующий вопрос: я предлагаю вам ответить на него так, чтобы вы не установили что-то в C:\windows\system32. После этого это набор инструментов, и он изменяется достаточно часто. Лучше всего хранить эти вещи отдельно, а не делать их системными.

openssl install suggestion

Как только это будет установлено (в зависимости от того, какая папка указана в установке), вы должны быть готовы начать процесс создания ключей и сертификатов!


Создать ключи и сертификаты.

ШАГ 1: Создание секретного ключа RSA

Сначала нам нужно создать сертификат. Обычный (оплаченный) процесс - это создать свой сертификат и передать его в орган подписи. Вот почему это стоит денег, как они должны сделать, должной добросовестности, чтобы проверить, что вы тот, кем вы говорите, и этот сайт, на котором вы будете использовать сертификат, является реальным и законным.

Инструментарий openssl используется для создания секретного ключа RSA и CSR (запроса подписи сертификата), который будет использоваться для нашего сертификата. Первым шагом будет создание вашего закрытого ключа RSA. Этот ключ является 1024-битным RSA-ключом, который зашифровывается с использованием Triple-DES и сохраняется в формате PEM, так что он читается как текст ASCII.

Откройте окно командной строки (поле Dos), используя [b] Запуск от имени администратора [/b] Измените каталог, где вы установили OpenSSL Toolkit выше.  В моем случае это

CD c:\apps\OpenSSL-Win32\bin

Создайте папку для вывода, который должен быть помещен (чтобы сохранить порядок в папке bin) Я использовал веб-сайт

md website

Теперь введите следующую команду:

openssl genrsa -out website\server.key 2048

Это должно было создать файл в папке веб-сайта с именем server.key, без ключа фразы доступа, проверить его существование.

Шаг 2: Создайте CSR (запрос подписи сертификата)

Во время генерации CSR вам будет предложено несколько фрагментов информации. Это атрибуты сертификата X.509. Одно из приглашений будет для "Common Name" (например, FQDN сервера или вашего имени) []: ". Важно, чтобы это поле заполнялось полным доменным именем сервера, который должен быть защищен SSL. Поэтому, если защищаемый веб-сайт будет https://www.wamphelpers.dev, введите www.wampheplers.dev в это приглашение. Я использовал wamphelper.dev, так как мой ServerName равен ServerName wamphelpers.dev

Не вводите ничего на вопрос: Пароль с запросом []:] Просто нажмите Enter. Если вы вводите ключевую фразу здесь, когда приходите на запуск Apache с установленным SSL, Apache не запускается и будет выдавать это сообщение об ошибке: -

[error] Init: встроенный SSLPassPhraseDialog не поддерживается на Win32

В принципе, если вы вводите парольную фразу, Apache должен бросить вам вызов для этой ключевой фразы каждый раз, когда она начнется. Это, очевидно, не облегчит вашу жизнь, но прежде всего на окнах, на которых она фактически не работает и будет вызывают сбои Apache, когда он пытается запросить кодовую фразу, с указанной ошибкой.

Команда для генерации CSR выглядит следующим образом:

openssl req -new -key website\server.key -out website\server.csr


Example question and answers:
Country Name (2 letter code) [AU]:GB
State or Province Name (full name) [Some-State]: Hampshire
Locality Name (eg, city) []: Portsmouth
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Wamp Helpers Ltd
Organizational Unit Name (eg, section) []: Information Technology
Common Name (e.g. server FQDN or YOUR name) []: wamphelpers.dev
Email Address []: [email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ( leave blank just hit the enter key )
An optional company name []: ( leave blank just hit the enter key )

Шаг 3: Создание самоподписанного сертификата

На этом этапе вам нужно будет создать самозаверяющий сертификат, потому что вы либо не планируете иметь сертификат, подписанный ЦС, либо вы хотите проверить вашей новой реализации SSL, пока CA подписывает ваш сертификат.

ПРЕДВАРИТЕЛЬНОЕ ПРЕДУПРЕЖДЕНИЕ Этот сертификат генерирует ошибку в браузере клиента, что подписание центра сертификации неизвестно и не доверено. Это неизбежно, поскольку мы сами подписываем сертификат, но, конечно, сеть доверия не знает, кто мы. См. Пример в этом документе, в котором показано, как сообщить браузеру, что вы действительно доверяете этому сертификату

openssl x509 -req -days 365 -in website\server.csr -signkey website\server.key -out website\server.crt


Example output:
Loading 'screen' into random state - done
Signature ok
subject=/C=GB/ST=Hampshire/L=Portsmouth/O=WampHelpers Ltd/OU=Information Technology/CN=www.wamphelpers.dev/[email protected]
Getting Private key

Шаг 4: Установка закрытого ключа и сертификата

Создайте эти 2 каталога под версией Apache, которую вы используете.

md c:\wamp\bin\apache\apachex.y.z\conf\ssl.key
md c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt

И скопируйте только что сгенерированный нами файл:

copy website\server.crt c:\wamp\bin\apache\apachex.y.z\conf\ssl.crt
copy website\server.key c:\wamp\bin\apache\apachex.y.z\conf\ssl.key

Шаг 5: настройте Apache для активации SSL

Отредактируйте httpd.conf, убедитесь, что эта строка раскомментирована

LoadModule authn_socache_module modules/mod_authn_socache.so

LoadModule ssl_module modules/mod_ssl.so

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Удалите комментарий '#' из этой строки также

Include conf/extra/httpd-ssl.conf

Затем переместите эту строку после этого блока... так

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

Шаг 6: Настройте PHP для активации SSL

Отредактируйте свой php.ini(используйте меню wampmanager, чтобы вы отредактировали правильный)

Удалить комментарий ';' из этой строки

extension=php_openssl.dll

Шаг 7: Настройте безопасные сайты Виртуальный хост

Yup для всех вас, виртуальных хостов, не говорящих, теперь вы не можете избежать процесса.

Изменить \wamp\bin\apache\apachex.y.z\conf\extra\httpd-ssl.conf

Этот файл выпущен Apache и содержит определенное местоположение файла по умолчанию. Мы можем оставить большую часть этого файла, как есть, но нам нужно настроить виртуальный хост здесь, чтобы соответствовать нашему фактическому местоположению сайтов и нескольким другим вещам, поэтому:

найдите эти строки

DocumentRoot "c:/Apache2/htdocs"
ServerName www.example.com:443
ServerAdmin [email protected]
ErrorLog "c:/Apache2/logs/error.log"
TransferLog "c:/Apache2/logs/access.log"

и измените их на

DocumentRoot "c:/wamp/www/wamphelpers"
ServerName wamphelpers.dev:443
ErrorLog "c:/wamp/logs/ssl_error.log"
TransferLog "c:/wamp/logs/ssl_access.log"

Find

SSLCertificateFile "c:/Apache2/conf/server.crt"

и измените на

SSLCertificateFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.crt/server.crt"

Find

SSLCertificateKeyFile "c:/Apache2/conf/server.key"

и измените на

SSLCertificateKeyFile "c:/wamp/bin/apache/apachex.y.x/conf/ssl.key/server.key"

Find

<Directory "c:/Apache2/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

и измените на

Синтаксис Apache 2.2

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 localhost ::1
</Directory>

Синтаксис Apache 2.4

<Directory "c:/wamp/www/wamphelpers">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

Find

SSLSessionCache        "shmcb:c:/Apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

и измените его на

SSLSessionCache        "shmcb:c:/wamp/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

Find

CustomLog "c:/Apache24/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

и измените на

CustomLog "c:/wamp/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

В основном просматривайте файл conf и любую команду, которая не закомментирована, но имеет ссылку на файл или папку следует изменить для ссылки на структуру папок WAMPServer, а не на "C:/Apache2...."

Теперь убедитесь, что все эти файлы, которые мы изменили, сохранены и перезапустите Apache, используя меню wampmanager.

Сначала проверьте, что незащищенный сайт все еще работает.

Затем попробуйте использовать свой новый защищенный сайт, добавив 'https://' в начало имени домена т.е. https://www.wamphelpers.dev без единичных кавычек, конечно.

Если Apache не перезапускает, вы, вероятно, что-то ошиблись. Проверьте конфигурацию следующим образом: -

Откройте окно командной строки

cd \wamp\bin\apache\apachex.y.z\bin
httpd -t

Это проанализирует все файлы конфигурации и даст вам имя файла и номер строки, где была обнаружена ошибка.

Исправить и повторить попытку.

Первый доступ к вашему сайту приведет к созданию страницы сообщений примерно так. Это использует FireFox, другие будут немного отличаться, но концепция это то же самое.

enter image description here

Это связано с тем, что ваш сертификат не подписан доверенным органом DONT PANIC, это должно произойти.

Нажмите "Я понимаю" и покажу вам кнопку "Добавить исключение", Нажмите кнопку "Добавить исключение", после проверки того, что данные сайта сертификатов на самом деле принадлежат вам, и вы не увидите это сообщение еще раз, если вы не очистите список исключений.

БОЛЬШОЕ ПРИМЕЧАНИЕ Начиная с Apache v2.2.12 и OpenSSL v0.9.8j теперь можно защитить более одного сайта на экземпляр Apache. Этот учебник не охватывает этот процесс. Подробнее см. Здесь:

Здесь

и здесь

и здесь

И, как я сказал наверху, теперь вам нужно сделать некоторые исследования по всем параметрам, доступным в конфигурации SSL, и заставить работу работать так, как вы хотите, а не использовать по умолчанию.

Ответ 2

Необходимо активировать модуль LoadModule socache_shmcb_module modules/mod_socache_shmcb.so в файле httpd.conf в wampserver 2.5. Если не apache выдает следующее сообщение:

AH00526: Ошибка синтаксиса в строке 75 в C:/wamp/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: кеш сеанса 'shmcb' не поддерживается (известные имена:). Возможно, вам нужно загрузить соответствующий модуль socache (mod_socache_shmcb?).

Ответ 3

@RiggsFolly: некоторые небольшие ошибки/опечатки/дополнения в вашем учебнике. Ниже используется в сочетании с WAMPServer 2.5 64 бит (Apache 2.4.9 и PHP 5.5.12) в Windows 7 SP1 64 бит:

-httpd-vhosts.conf находится в файле extra/httpd-vhosts.conf

- когда вы пытаетесь отредактировать файл хостов, обязательно отключите любой virusscanner. Некоторые из них блокируют доступ к файлу хостов.

- обязательно откройте текстовый редактор как администратор при редактировании файла хостов, иначе вы получите сообщение об ошибке, пытающееся сохранить.

-don't забыть удалить # в начале строки хоста, если какой-либо

- если вы используете WAMPServer 64bit, обязательно загрузите 64-битную версию OpenSSL

- шаг openssl genrsa -out website\server.key 2048  создает файл server.key, а не файл privkey.pem!

-file\wamp\bin\apache\apachex.yz\conf\httpd-ssl.conf находится в \wamp\bin\apache\apachex.yz\conf\extra\httpd-ssl.conf(возможно, это зависит на версии WAMPServer)

- Мне приходилось использовать разные порты для http (80- > 8080) и https (443- > 444) в качестве этих портов, где я использую, я думаю, Skype. Когда вы используете разные порты, обязательно используйте их везде, где вы видите 80 или 443 в этом уроке.

- Мне также пришлось включить socache_shmcb_module. "Httpd -t" также упомянул об этом.

Ответ 4

Если у вас есть ошибка что-то вроде этого:

Не удается загрузить modules/mod_ssl.so на сервер: указанный модуль не найден.

  1. Возможно, вы захотите попробовать найти libeay32.dll в вашей папке wamp, вы, вероятно, найдете его в {папке wamp}/bin/php/php {version 7}/

  2. Скопируйте libeay32.dll и ssleay32.dll и вставьте их в {папку wamp}/bin/apache/apache {версия 2.x}/bin/AND {папку wamp}/bin/php/php {verion 5.x}. УБЕДИТЕСЬ, что вы делаете резервную копию всего, что размещаете.

  3. запустите httpd -t и проверьте синтаксис

ПРИМЕЧАНИЕ: я полагаю, что это связано с ошибкой в apache openssl part для wamp 3.0.6. К счастью, в папке php7 эти dll совместимы для apache и php5.

Ответ 5

@RiggsFolly: самоподписанный сертификат с ключом можно легко сгенерировать, например, здесь... http://www.selfsignedcertificate.com/, поэтому я мог бы начать учебник с шага 4 (у меня также был стандартный: 80 виртуальных серверов).

В любом случае некоторые упомянутые вещи уже были включены при установке WAMP по умолчанию (я думаю, это изменяется от версии к версии), но все остальное мне очень помогло. И на самом деле одна вещь отсутствовала... Мне также пришлось раскомментировать следующую строку в "httpd.conf"

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Ответ 6

Если у вас есть ошибка:

Невозможно загрузить модули /mod _ssl.so на сервер: операционная система не может работать% 1

Затем вам нужно:

  • Установите Win32 OpenSSL здесь http://slproweb.com/products/Win32OpenSSL.html
  • Скопируйте/вставьте libeay32.dll, ssleay32.dll в свою папку php bin вашего компьютера (C:\wamp64\bin\php\php5.6.19)
  • Перезапустить apache

Примечание. Протестировано на сервере Wamp 3

Ответ 7

Прежде всего:

1). Шаттский WAMP и перейти к C:\wamp\scripts\config.inc.php перейти от массива libeay32.dll, ssleay32.dll, строк 133,139

2).Установите OpenSSL с официального сайта, обратите внимание на версию вашей ОС x64 или нет.

Командная строка:

3). cd C:\wamp\bin\apache\apache2.4.23\bin

4). openssl req -new > localhost.csr

5). openssl rsa -in privkey.pem -out localhost.key

6). openssl x509 -in localhost.csr -out localhost.crt -req -signkey localhost.key -days 365 -sha256 -extfile v3.ext

Обновление: из Chrome 58 нам нужно предоставить Subject Alternative Name. Это имя можно получить из файла расширения v3.ext:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 127.0.0.1
DNS.2 = localhost

Очень важно в Common Name вставить 'localhost'

7).Загрузите localhost.key и localhost.crt и поместите их в C:\wamp\bin\apache\apache2.4.23\conf\key (обязательно, прежде чем создавать соответствующий каталог)

Конфигурация:

8).enable в C:\wamp\bin\apache\apache2.4.23\bin\php.ini и

C:\wamp\bin\php\php5.6.25\php.ini extension=php_openssl.dll

9). Перейдите к C:\wamp\bin\apache\apache2.4.23\conf\httpd.conf и раскомментируйте:

LoadModule ssl_module modules/mod_ssl.so,

Include conf/extra/httpd-ssl.conf,

Include conf/extra/httpd-vhosts.conf,

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

10). перейдите к C:\wamp\bin\apache\apache2.4.23\conf\extra\httpd-ssl.conf

и внесите изменения:

SSLSessionCache "shmcb:c:/wamp/bin/apache/apache2.4.23/logs/ssl_scache(512000)",

SSLSessionCacheTimeout 300,

VirtualHost _default_:443,

DocumentRoot "c:/wamp/www/",

ServerName localhost:443,

ErrorLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_error.log"

(создайте файл, если он не существует)

TransferLog "c:/wamp/bin/apache/apache2.4.23/logs/access.log",

SSLCertificateFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.crt",

SSLCertificateKeyFile "c:/wamp/bin/apache/apache2.4.23/conf/key/localhost.key",

<Directory "c:/wamp/www/">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require local
</Directory>

  CustomLog "c:/wamp/bin/apache/apache2.4.23/logs/ssl_request.log"

Обработка сертификата:

11). Нажмите Win + R и вставьте "certmgr.msc", импортируйте servercert.crt в "Доверенные корневые сертификаты"

12). Проверьте свой сервер в командной строке: "httpd -t" должен быть "Синтаксис OK"

13). Запустите Wamp и перейдите к ссылке https://localhost

Я надеюсь, что это поможет

Примечание: прочитайте эту статью о поведении Mozilla:

https://blog.mozilla.org/security/2014/09/23/phasing-out-certificates-with-sha-1-based-signature-algorithms/

Ответ 8

2019 Обновление

Я публикую этот ответ, так как я сам боролся с этим, и Chrome обновил свою безопасность, требуя альтернативного имени субъекта, которого нет у многих сообщений, поскольку это не требовалось, когда они были опубликованы в качестве ответа. Я предполагаю, что WAMP уже установлен.

ШАГ 1

Скачайте OpenSSL Light и установите


ШАГ 2 (необязательно)

Хотя эта часть не является обязательной, она облегчает выполнение команд в дальнейшем. Если вы пропустите этот шаг, вам нужно будет указать полный путь к openssl.exe, где вы будете выполнять команду. Если вы предпочитаете установить его, обновите путь openssl.exe в переменных среды.

Переменные среды → Системные переменные → Путь → Правка → Создать → c:\Program Files\OpenSSL-Win64\bin


ШАГ 3

Создайте папку с именем "key" в c: /wamp64/bin/apache/apache2.4.27(your version number)/conf/.

Создайте файл конфигурации для вашего CA MyCompanyCA.cnf с содержимым (вы можете изменить его по своему усмотрению):

[ req ]
distinguished_name  = req_distinguished_name
x509_extensions     = root_ca

[ req_distinguished_name ]
countryName             = Country Name (2 letter code)
countryName_min         = 2
countryName_max         = 2
stateOrProvinceName     = State or Province Name (full name)
localityName            = Locality Name (eg, city)
0.organizationName      = Organization Name (eg, company)
organizationalUnitName  = Organizational Unit Name (eg, section)
commonName              = Common Name (eg, fully qualified host name)
commonName_max          = 64
emailAddress            = Email Address
emailAddress_max        = 64

[ root_ca ]
basicConstraints            = critical, CA:true

Создайте файл конфигурации расширений MyCompanyLocalhost.ext для сертификата веб-сервера:

subjectAltName = @alt_names
extendedKeyUsage = serverAuth

[alt_names]
DNS.1   = localhost
DNS.2   = mycy.mycompany.com


ШАГ 4

Выполните эти команды в указанном порядке для генерации ключа и сертификатов:

openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111

В результате у вас будут файлы MyCompanyCA.cer, MyCompanyLocalhost.cer и MyCompanyLocalhost.pvk.


ШАГ 5

Установите MyCompanyCA.cer под

Панель управления → Управление сертификатами пользователя → Доверенные корневые центры сертификации → Сертификаты

Чтобы установить MyCompanyLocalhost.cer, просто дважды щелкните по нему.


ШАГ 6

Откройте c: /wamp64/bin/apache/apache2.4.27(your version number)/conf/httpd.conf и откомментируйте (удалите #) следующие 3 строки:

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so


ШАГ 7

Откройте c: /wamp64/bin/apache/apache2.4.37/conf/extra/httpd-ssl.conf и измените все параметры на показанные ниже:

Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin [email protected]
ErrorLog "c:/wamp64/bin/apache/apache2.4.27/logs/error.log"
TransferLog "c:/wamp64/bin/apache/apache2.4.27/logs/access.log"
SSLCertificateFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.cer"
SSLCertificateKeyFile "c:/wamp64/bin/apache/apache2.4.27/conf/key/MyCompanyLocalhost.pvk"
SSLSessionCache "shmcb:c:/wamp64/bin/apache/apache2.4.27/logs/ssl_scache(512000)"
CustomLog "c:/wamp64/bin/apache/apache2.4.27/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Примечание: это сложная часть. Если вы сделаете небольшую ошибку при редактировании этого файла, SSL не будет работать. Сделайте копию этого прежде, чем отредактировать это.


ШАГ 8

Перезапустите Wamp и Chrome. Localhost теперь защищен: https://localhost