Настрока HTTPS для MAMP
SSL для localhost
Генерируем ключ RSA-2048 и сохраните его в файле
rootCA.key
.
Обязательно задаем пароль, его нужно будет вести при создании корневого сертификата.shellopenssl genrsa -des3 -out rootCA.key 2048
Из сгенерированного ключа создаем корневой сертификат и сохраняем его
в файлrootCA.pem
. Срок действия этого сертификата составит 1024 дня
(можно изенить на любое количество дней).shellopenssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Добавьте сертификат в
Keychain Access
и откройте его, выберитедоверие
и установитевсегда доверять
Создаем файл конфигурации OpenSSL
server.csr.cnf
, чтоб не вводить в консоли.shell[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn [dn] C=US ST=RandomState L=RandomCity O=RandomOrganization OU=RandomOrganizationUnit emailAddress=hello@example.com CN = localhost
Создаем файл
v3.ext
для сертификата.shellauthorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost
Создаем ключ сертификата для
localhost
с параметрами конфигурацииserver.csr.cnf
, сохраняем в файлserver.csr.cnf
shellopenssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )
Создаем сертификат для
localhost
с помощью корневого SSL-сертификата и сохраняем в файлserver.crt
.shellopenssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
Переносим файлы
server.crt
иserver.key
в папку/Applications/MAMP/conf/apache/
.
SSL для локальных доменов
- Создаем приватный ключ
openssl genrsa -out localhost.key 2048
- Создаем сертификат
openssl req -new -x509 -key localhost.key -out localhost.crt -days 3650 -subj "/CN=*.localhost"
Создание сертификатов с помощью mkcert
Устанавливаем mkcert
brew install mkcert
Если используем Firefox, то устанавливаем nss
brew install nss
Для установки корневой сертификат (можно использовать только один раз):
mkcert -install
Для установки сертификатов для всех доменов *.test
mkcert "*.test"