How to Create Locally Trusted SSL Certificates
Хочется поделиться, очередным способом создания SSL сертификатов для нужд разработки. На этот раз мы воспользуемся замечательной утилитой: mkcert. Она работает под несколькими платформами и в нашем случае это Linux (Ubuntu 18.10).
Приступим к подготовке, перед установкой mkcert, установим certutil (если он ещё не установлен). Это консольная утилита, которая может создавать и модифицировать сертификаты, подробности всех возможностей можно найти в документации или на просторах интернета.
sudo apt install libnss3-tools -y
Приступим к установке mkcert. (список релизов доступен по адресу GitHub)
wget https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-linux-amd64 mv mkcert-v1.3.0-linux-amd64 mkcert chmod +x mkcert sudo cp mkcert /usr/local/bin/
Если всё прошло успешно, необходимо выполнить следующий шаг это
$ mkcert -install
Результатом будет весьма красивое сообщение с иконками или смайлами.
Created a new local CA at "/home/sv/.local/share/mkcert" 💥 The local CA is now installed in the system trust store! ⚡ The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! 🦊
По данным из консоли, сразу видно, где был создан локальный корневой сертификат CA.
Теперь нужно выполнить простое действие:
sudo mkcert sibvrv.dev '*.sibvrv.dev' localhost 127.0.0.1 ::1
Получим следующий результат:
Created a new certificate valid for the following names 📜 - "sibvrv.dev" - "*.sibvrv.dev" - "localhost" - "127.0.0.1" - "::1" Reminder: X.509 wildcards only go one level deep, so this won't match a.b.sibvrv.dev ℹ️ The certificate is at "./sibvrv.dev+4.pem" and the key at "./sibvrv.dev+4-key.pem" ✅
Вот и всё, на выходе у нас сертификат и ключ, которые можно легко использовать для работы с https.