← Ко всем open source проектам

mkcert

FiloSottile/mkcert

mkcert — простая утилита для создания локально доверенных TLS-сертификатов для разработки.

Форки 3,127
Автор FiloSottile
Язык Go
Лицензия BSD-3-Clause
Обновлено 2026-06-27

Что это такое

mkcert — маленькая утилита для локальных HTTPS-сертификатов. Она создает локальный центр сертификации, устанавливает его в доверенные хранилища системы и выпускает сертификаты для доменов разработки.

Проект решает боль веб-разработки: современные API, cookies, service workers и браузерные функции часто требуют HTTPS даже локально. Самоподписанные сертификаты работают плохо, если браузер и система им не доверяют.

Как устроен проект

В репозитории находится Go-утилита, инструкции для macOS, Linux и Windows, описание доверенных хранилищ, мобильных устройств и переменных окружения. Инструмент не настраивает сервер автоматически: он выдает файлы сертификата и ключа.

Локальный сертификат

Пример показывает стандартный путь: установить локальный центр сертификации и выпустить сертификат для нескольких имен разработки.

Язык: Bash
mkcert -install
mkcert localhost 127.0.0.1 ::1 myapp.test

Этот пример добавлен не ради украшения: он показывает реальную форму работы с проектом — команду, структуру данных, фрагмент интерфейса или схему, которую читатель встретит в документации и исходниках.

Как это используют

Типичный сценарий — один раз установить локальный центр сертификации, затем сгенерировать сертификат для localhost, внутреннего домена или имени тестового сервиса и подключить его в сервере разработки.

mkcert обычно требует проверки не только команды запуска, но и эксплуатационных деталей: обновления, права доступа, хранение секретов, восстановление после сбоя, лицензия и понятная граница ответственности между инструментом и приложением.

Отдельно стоит смотреть на границы проекта: что он делает сам, что делегирует внешним сервисам, какие данные принимает на вход и какие решения оставляет пользователю. Это помогает не ждать от репозитория больше, чем он обещает.

Для mkcert полезно держать в голове две плоскости: что реально делает код и какую привычку он меняет у пользователя. Тогда материал читается как разбор роли проекта: входные данные, точка интеграции, результат, ограничения и риск для команды.

Для каталога здесь важен не только факт существования репозитория, а практическая роль: где он встраивается в стек, какую ручную работу убирает и какие решения оставляет команде.

Сильные стороны и ограничения

Сильная сторона — простота. Вместо ручной работы с OpenSSL и предупреждениями браузера разработчик получает короткую команду и сертификаты, которым доверяет локальная машина.

Ограничение — область применения. mkcert предназначен для разработки, а не для публичного сайта. Локальный корневой ключ нужно беречь: если он утечет, доверие на этой машине станет проблемой безопасности.

Контекст

mkcert полезен почти любому веб-проекту, где локально нужен настоящий HTTPS. Он не заменяет Let’s Encrypt или корпоративную PKI, но резко снижает трение в разработке.

Такой разбор помогает отличить репозиторий как красивую страницу на GitHub от репозитория как реального элемента стека: с документацией, ограничениями, сообществом и стоимостью сопровождения.

Перед использованием такого проекта стоит проверить его текущий статус, лицензию, последние изменения, открытые issues и соответствие собственной задаче. Это особенно важно для инфраструктуры, ИИ-инструментов, сетевых клиентов и старых архивных проектов.