Несколько недель назад я наткнулся на mkcert, инструмент, написанный Filippo. Он тот же парень, что и создал популярный инструмент для тестирования heartbleed test.
Рассматриваемый инструмент отвечает на одну простую задачу:

Создавая локальный файл корневого CA, который устанавливается в вашей системе, он делает все сертификаты, выданные mkcert, доверенными.

После загрузки последней версии с GitHub вы можете просто «установить» ее, запустив mkcert -install. Как только это будет сделано, вы можете создать свой первый доверенный (вашей собственной системой) сертификат:
$ mkcert somedomain.local Using the local CA at "/home/alex/.local/share/mkcert" ✨ Created a new certificate valid for the following names 📜 - "somedomain.local" The certificate is at "./somedomain.local.pem" and the key at "./somedomain.local-key.pem" ✅
Например, вот как это выглядело бы, если бы вам пришлось загрузить сервер Node с поддержкой SSL:
const fs = require('fs')
const options = {
key: fs.readFileSync(__dirname + '/somedomain.local-key.pem'),
cert: fs.readFileSync(__dirname + '/somedomain.local.pem')
};
require('https').createServer(options, (req, res) => {
res.writeHead(200)
res.end(`Got SSL?`)
}).listen(443)
Довольно аккуратно, а?
Что делает mkcert, так это просто добавляет еще один файл CA в вашу систему (я предполагаю, что это /etc/ssl/certs/ca-certificates.crt, но я не совсем уверен). Браузеры считают эти сертификаты надежными - хороший способ обмануть любого HTTP-клиента.
На сегодня все! Прощай!
Изначально опубликовано на odino.org ( 1 сентября 2018 ).
Вы можете подписаться на меня в Twitter - тирады приветствуются! 😉