Как доверять самозаверяющему сертификату, не доверяя ЦС?

Итак, я создал rootCA и подписал сертификат для *.a.com, как я могу доверять полученному сертификату в Firefox/Chrome, не доверяя ЦС напрямую?

Обратите внимание, что добавления исключения (один раз) в этом случае недостаточно, поскольку существует несколько доменов.

2 ответа

Решение

Есть два возможных подхода:

  1. Явно добавьте сертификат в диспетчер сертификатов браузера. Поскольку Chrome и Firefox используют NSS в качестве своей библиотеки SSL, это можно сделать с помощью следующей команды (для Chrome):

    certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n SomeCertificateName -i /path/to/certificate

  2. Выдать сертификат subCA, ограниченный nameConstraint расширение, так что subCA может выдавать только сертификаты с a.com суффикс. Теперь доверяйте только этой subCA. Эта статья объясняет этот подход.

Поскольку сертификат не выдан доверенным центром сертификации, вы получите сообщение об ошибке для каждого домена, к которому применяется подстановочный сертификат. Firefox хранит исключения сертификатов с доменом в качестве ключа, а не с сертификатом, поэтому он попросит вас сделать исключение для каждого домена (даже с подстановочным сертификатом).

Если вы не хотите доверять ЦС напрямую, вы можете попросить владельца ЦС создать для вас промежуточный сертификат ЦС, который вы можете использовать для выдачи сертификатов. Затем вы можете добавить промежуточный CA в вашем браузере. (или вы можете просто создать новый CA)

Другие вопросы по тегам