Отдыхаешь? А как тебе такое? Если пропиздоглазил, то смотри на зелёный замочек и домен.

Короче — я сгенерил валидный SSL-сертификат для домена localhost.
Называется mkcert. Работает на всём: Винда, Linux и macOS. В случае с Виндой установка осуществляется через менеджеры пакетов scoop или chocolatey.
Чтобы установить scoop в PowerShell, нужно забить:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm get.scoop.sh | iex
И заинсталлить mkcert:
scoop bucket add extras
scoop install mkcert
mkcert -install
Получаем такое:
Created a new local CA
The local CA is now installed in the system trust store!
Note: Firefox support is not available on your platform.
Всё! Теперь у нас есть свой доверенный центр сертификации.
Выпускаем первый SSL-сертификат
Ебли с этим никакой нет, запускаем:
mkcert bashdays.kek "*.bashdays.kek"
То есть просто перечисляем список доменов.
В ответ получаем:
Created a new certificate valid for the following names
- "bashdays.kek"
- "*.bashdays.kek"
Reminder: X.509 wildcards only go one level deep, so this won't match a.b.bashdays.kek
The certificate is at "./bashdays.kek+1.pem" and the key at "./bashdays.kek+1-key.pem"
It will expire on 2 August 2027
В результате получаем bashdays.kek+1.pem — сертификат и bashdays.kek+1-key.pem — приватный ключ.
Ну а дальше пихаем их в жопы в нужное место и наслаждаемся зелёным замочком.
Если серты и ключи тебе нужно генерить в определённом месте, можешь это указать так:
mkcert -cert-file=/ssl/fullchain.crt -key-file=/ssl/private.key bashdays.kek
Это полезно, если у тебя какая-то автоматизация или Bash-скрипт, который автоматом будет это всё генерить, а nginx или Angie это подхавывать.
mkcert в WSL
Чтобы этой хуйнёй воспользоваться на WSL, делаем так:
sudo apt install libnss3-tools
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64"
chmod +x mkcert-v*-linux-amd64
sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Здесь мы не выполняем инициализацию mkcert -install, на WSL мы только генерим SSL-сертификаты.
Для того чтобы эти сертификаты были доверенными в Винде, нужно указать путь к корневому сертификату, который мы с тобой зашили в Винду.
Идём на Windows-машину и выполняем:
mkcert -CAROOT
В ответ получаем путь до корневого сертификата, у меня такой:
C:\Users\user\AppData\Local\mkcert
Возвращаемся в WSL и выполняем:
echo "export CAROOT=/mnt/c/Users/user/AppData/Local/mkcert" >> ~/.bashrc
Если у тебя zsh, сам разберёшься.
Теперь можно выпускать SSL-сертификаты в WSL, и в Винде они будут считаться доверенными.
Если у тебя не Винда, а macOS или Linux, похуй, всё делается аналогично, в официальной документации эти кейсы все подробно расписаны.
Что прикольно, такие серты живут по два года. При желании их можно прикрутить к своему локальному Proxmox или ещё куда-нибудь. Тут уже сам разберёшься.
Для локальных целей прям маст-хев! Забирай на вооружение.








Комментарии
Виджет комментариев загружается с серверов Telegram и может использовать cookies. Разрешите внешние сервисы, чтобы открыть обсуждение.