Ответ 1
Скопировано по ссылке:
Включение SSL на WAMP
В этом пошаговом руководстве объясняется, как вы можете использовать SSL на WAMP.
-
Загрузите WampServer 2.0 из здесь и установите его в папку по умолчанию (c:\wamp).
-
Теперь нам нужно иметь пару private/public key, а также CA, чтобы подписывать наш открытый ключ.
Сначала давайте посмотрим, как мы можем создать пару private/public key.
keytool -genkey -alias rpcert -keyalg RSA -keysize 1024 -dname "CN=identity-rp,L=SL,S=WS,C=LK" -keypass wso2key -keystore rpkeystore.jks -storepass wso2key
Это создаст хранилище ключей [rpkeystore.jks] с парой открытого/закрытого ключей.
Мой предыдущий пост объясняет, как вы можете экспортировать свой закрытый ключ из хранилища ключей. Просто следуйте инструкциям, приведенным здесь, и вы получите файл server.key, который является вашим личным ключом.
Теперь нам нужно подписать наш открытый сертификат с помощью CA.
Это - требует от нас создания образца ЦС и последующего объяснения, как это сделать.
Здесь мы используем OpenSSL для создания необходимой инфраструктуры ЦС. Для Windows вы можете скачать Win32 OpenSSL v0.9.8g здесь.
После установки убедитесь, что вы добавили C:\OpenSSL\bin [i.e [INSTALLED_LOCATION]\bin]
в переменную env PATH.
openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.crt
Вышеупомянутая команда будет создавать пару открытых/закрытых ключей для нашего образца CA.
Теперь нам нужно создать запрос подписи сертификата на наш сервер.
Перейдите в папку, в которой вы создали хранилище ключей [rpkeystore.jks], и выполните следующую команду.
keytool -certreq -v -alias rpcert -file csr.pem -keypass wso2key -storepass wso2key -keystore rpkeystore.jks
Теперь скопируйте файл csr.pem в папку, где были сгенерированы ключи для ЦС, и выпустите следующую команду.
openssl x509 -req -days 365 -in csr.pem -CA cacert.crt -CAkey cakey.pem -CAcreateserial -out server.crt
Теперь у нас есть все необходимые файлы.
cacert.crt → Открытый сертификат CA server.crt → Открытый сертификат сервера, подписанный CA server.key → Закрытый ключ сервера.
Скопируйте все вышеуказанные три файла в c:\wamp\bin\apache\apache2.2.8\conf
, если вы установили WAMP в местоположение по умолчанию.
Также отредактируйте файл c:\WINDOWS\system32\drivers\etc\hosts и добавьте следующую запись.
127.0.0.1 identity-rp
Если вы могли бы вспомнить, когда мы создаем открытый сертификат для нашего сервера, мы создали его для identity-rp.
- Изменить httpd.conf [C:\wamp\bin\apache\apache2.2.8\conf]
Раскомментируйте следующие две строки.
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
Найдите Listen 80 и измените его на Listen 12081 - это наш сервер работает на номере порта 12081.
Найти имя_сервера и установить его в ServerName identity-rp: 12081.
-
Изменить httpd-ssl.conf [C:\wamp\bin\apache\apache2.2.8\conf\extra]
Установить Listen identity-rp: 12444 - мы прослушиваем порт 12444 для безопасной связи.
Установите
Установить DocumentRoot "C:/wamp/www/"
Установить имя_сервера_имя-rp: 12444
Для всего файла найдите "C:/Program Files/Apache Software Foundation/Apache2.2" и замените на "C:/wamp/bin/apache/apache2.2.8".
Найти SSLCertificateFile и установить SSLCertificateFile "C:/wamp/bin/apache/apache2.2.8/conf/server.crt"
Найти SSLCertificateKeyFile и установить SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.2.8/conf/server.key"
Найти SSLCACertificateFile и установить SSLCACertificateFile "C:/wamp/bin/apache/apache2.2.8/conf/cacert.crt"
- Изменить php.ini(C:\wamp\bin\apache\apache2.2.8\bin)
Раскомментируйте строку extension=php_openssl.dll
-
Теперь мы закончили - выполните проверку синтаксиса и запустите сервер Apache.
: > cd C:\wamp\bin\apache\apache2.2.8\bin : > httpd -t : > httpd --start
-
Введите
https://identity-rp:12444
в своем браузере - вы увидите ошибку сертификата в браузере - чтобы избежать установки сертификата CA в вашем браузере.