Несколько недель назад я наткнулся на 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 - тирады приветствуются!
😉