Я надеюсь прояснить некоторую путаницу в отношении использования Let's Encrypt для внутреннего сайта / приложения. Мне не удалось найти эту информацию где-либо еще.
Я хочу использовать Let's Encrypt в паре с Certbot, чтобы разрешить использование SSL в приложении.
Вопросы:
Прошу прощения, если какой-либо из моих вопросов игнорируется, мои знания в этом отношении очень ограничены. Тем не менее, могут быть даже лучшие варианты для выполнения того, что мне нужно, поэтому я открыт для предложений. Я выбрал Let's Encrypt вместо самозаверяющего сертификата, потому что с этим решением мне не нужно было бы добавлять ЦС на каждый клиентский компьютер, которому нужен доступ.
Let's Encrypt требует подключения к Интернету, но это необходимо для EFF ISRG, который им управляет. Certbot (который работает на вашем компьютере) взаимодействует с Let's Encrypt для выдачи и обновления сертификатов и требует подключения с вашего компьютера.
Действительное доменное имя (в случае Let's Encrypt) - это настроенный вами домен, который может быть разрешен глобальной инфраструктурой DNS - на практике это означает использование купленного доменного имени или поддомена, связанного с купленным доменным именем (хотя это можно получить бесплатные домены из некоторых малоизвестных реестров, таких как www.tk)
Приложения должны быть настроены на использование ключей Let's Encrypt. Все, что делает Certbot, это (а) имеет набор ключей, которые принимают почти все браузеры, и (б) подписывает ключи после проверки того, что владелец ключа также контролирует DNS для подписанного ключа. Хотя Certbot можно использовать с Apache / NGINX, и сделать это очень просто, для запуска какого-либо программного обеспечения не требуется. Аналогичным образом вывод Certbot (в дополнение к необязательным файлам конфигурации, если это необходимо, но никоим образом не является обязательным) представляет собой подписанный открытый ключ. Этот закрытый ключ вместе с закрытым ключом (и любыми промежуточными ключами), который обычно генерирует Let's Encrypt, может использоваться любым программным обеспечением, которое вы используете, которое может использовать SSL, распознает Let's Encrypt как CA и распознает формат файла. Это необходимо настроить в программном обеспечении.
То, что вы спрашиваете, бессмысленно - если у вас есть корневой сертификат, вы не используете Certbot. Вы можете создать свою собственную инфраструктуру CA с помощью библиотеки OpenSSL, и если вы хотите упростить это, есть инструменты pki, такие как easy-rsa. Certbot - это не реестр, это не библиотека SSL, это сценарий для проверки владения доменным именем стандартным совместимым способом и управления сертификатами, предоставляемыми Let's Encrypt. Это бесполезно, если вы настраиваете свой собственный ЦС (центр сертификации - это и есть корневой сертификат).