Мой клиент использует самозаверяющий сертификат для приложения для работы. Чтобы иметь возможность работать, я должен установить корневой сертификат, который они использовали для подписи сертификата.
Можно ли настроить корневой сертификат, чтобы он действовал только для одного домена?
certificate
restrictions
MichaelD
источник
источник
Ответы:
Как правило большого пальца:
Нет , доверие к сертификату CA клиента означает доверие к каждому сертификату, подписанному этим CA.
Я не знаю каких-либо приложений / библиотек, в которых есть простой вариант, который позволяет вам как конечному пользователю выбрать, что вы будете доверять своим клиентам или любому другому сертификату CA только для определенных (суб) доменов, то есть только для *. example.com и * .example.org и ничего больше.
Mozilla испытывает аналогичные опасения по поводу того, что в настоящее время доверенные правительственные центры сертификации выступают в качестве открытой точки внимания, и, например, в Chrome встроены дополнительные проверки для доступа к сайтам Google. Именно так стали известны публичный сертификат * .google.com и компрометация Diginotar CA ,
Но даже если вы не доверяете ЦС, вы все равно можете импортировать / доверять определенному сертификату сервера, подписанному этим ЦС, что предотвратит предупреждения SSL для имен хостов в этом сертификате. Это должно заставить ваше приложение работать без ошибок и жалоб.
Исключения:
Очень недопустимым вариантом стандарта PKI X.509v3 является расширение « Ограничения имен» , которое позволяет сертификату CA содержать белые и черные списки шаблонов доменных имен, для которых разрешено выдавать сертификаты.
Возможно, вам повезет, и ваш клиент сдержался, когда они настроили свою инфраструктуру PKI и включили это ограничение имени в свой сертификат CA. Затем вы можете импортировать их сертификат CA напрямую и знать, что он может проверять только ограниченный диапазон доменных имен.
источник
example.com
или*.ad.example.com
являются действительными. Ваш внутренний ЦС также может выдавать сертификаты,*.example.bank
позволяющие проводить приятную атаку «посредник» и отслеживать ваши учетные данные в онлайн-банке.У @CryptoGuy был довольно хороший ответ, но я хотел бы остановиться на нем.
Перефразировать:
И вот как вы это делаете (используя командную строку OpenSSL CA)
Создать простой CA
Вы можете пропустить создание промежуточного CA
Создайте промежуточный запрос CA с ограничениями имени.
С этим в
ossl_domain_com.cfg
файле:Затем подпишите этот промежуточный домен CA с вашим CA.
Если вы пропустили создание промежуточного звена, используйте свой корневой CA для подписи
Теперь заново подпишите ЦС исходного домена под вашим полномочием, используя их сертификат. Вы можете добавить расширения CA здесь.
Возможно, вам понадобится использовать
-x509-to-req
аргумент для создания запроса, который вы подпишете точно так же, как промежуточный пункт выше.Теперь добавьте ваш корневой CA, промежуточный CA и домен-перекрестный CA в базу данных доверия вашего браузера.
источник
basicConstraints
строка в файле конфигурации, по-видимому, приводит к тому, что расширение ограничений включается в сертификат дважды, что заставляет Firefox отклонять сертификат с загадочным сообщением об ошибке. Я думаю, что это может быть безопасно удалено.error with certificate to be certified - should be self signed
. Что это значит и как это решить? pastebin.ubuntu.com/p/QHhpQh2N6J