Сертификаты
Локальный центр сертификации Joppa, сертификаты доменов, повторное использование mkcert и одобрение системой.
Центр сертификации
При первом запуске Joppa создаёт центр сертификации (CA) для вашего пользователя — «Joppa local CA», действительный 10 лет. Его закрытый ключ остаётся на вашем компьютере, доступный для чтения только вам, в папке ca/ Joppa. Он может подписывать только зарезервированные локальные имена (.test, .localhost, .internal, .local, .home.arpa, .example, .invalid): даже скопированный, его ключ не позволит выдать себя за настоящий сайт. У CA, созданного более старой версией Joppa, этого ограничения нет; чтобы сменить его, удалите папку ca/, перезапустите Joppa и одобрите новый CA.
Если вы уже пользуетесь mkcert, Joppa использует его CA (из $CAROOT, иначе из расположения mkcert по умолчанию). Тогда сертификаты Joppa принимаются везде, где уже принимались сертификаты mkcert. Настройки › Центр сертификации показывают, какой из них используется: «Joppa» или «mkcert (общий)».
Сертификаты доменов
Joppa подписывает сертификат на лету, при первом подключении к каждому домену. Он покрывает домен и его поддомены (myproject.test и *.myproject.test) и действует 397 дней — максимальный срок, который принимают браузеры. Ничего не нужно ни генерировать, ни продлевать.
Одобрение CA
Браузер показывает замок, только если система доверяет CA. Joppa не спрашивает об этом при запуске: пока CA не одобрен, запуск проекта, добавление проекта или домена и открытие https-адреса сначала показывают окно Сначала настройте HTTPS. Настроить открывает системное окно, которое запрашивает ваш пароль, затем Joppa добавляет CA в список доверенных (на macOS — в связку ключей вашей учётной записи и ваши настройки доверия), и действие продолжается; Отмена отменяет его. Баннер вверху окна также предлагает Одобрить, а щелчок по CA … не доверенный в строке состояния открывает ту же кнопку. Настройки › Центр сертификации показывают состояние, ту же кнопку (Одобрить центр сертификации) и равнозначную команду, которую при желании можно один раз выполнить в терминале:
| Система | Команда | Проверка |
|---|---|---|
| macOS | sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "<rootCA.pem>" |
Автоматически |
| Linux (Debian, Ubuntu) | sudo cp <rootCA.pem> /usr/local/share/ca-certificates/joppa-rootCA.crt && sudo update-ca-certificates |
Joppa не может проверить |
| Linux (Arch, Manjaro) | sudo cp <rootCA.pem> /etc/ca-certificates/trust-source/anchors/joppa-rootCA.crt && sudo update-ca-trust |
Joppa не может проверить |
| Linux (Fedora) | sudo cp <rootCA.pem> /etc/pki/ca-trust/source/anchors/joppa-rootCA.crt && sudo update-ca-trust |
Joppa не может проверить |
Строка состояния показывает CA Joppa в порядке, когда CA одобрен, и CA Joppa не доверенный в противном случае (по щелчку открывается Одобрить).