Назад | Перейти на главную страницу

Создать ЦС TLS, ограниченный доменом?

Я собираюсь создать корневой центр сертификации для использования с чем-то, что я собираю.

Каждый клиент регистрировал бы у меня свой сервер, и я подписывал их сертификат как держатель (id) .example.com. Каждый клиент мог бы безопасно загрузить мой сертификат CA и установить его как доверенный только для example.com и поддоменов.

Как установить собственный CA-сертификат, применимый только для example.com? Мои клиенты не захотят доверять мне подписку (скажем) paypal.com, только домен и его поддомены, для которых я это сделал. Я также не хочу оказаться в положении, когда кто-то может заставить меня подписать их хитрый сертификат.

(Сейчас я смотрю на openssl, но подойдут любые альтернативы. Если это всего лишь параметр командной строки, он сейчас меня привлекает.)

PKI не имеет метода ограничения центров сертификации подписывать сертификаты только в определенных областях. Если вы доверяете ЦС, вы безоговорочно доверяете всему, что он производит. Для центров сертификации нет условного доверия, только сертификаты. Фактически это означает, что если вы доверяете ЦС своей компании, вы также доверяете сертификату, подписанному ЦС компании для mail.google.com. Именно по этой причине сертификаты расширенной проверки становятся все более популярными.

Просить клиентов доверять ЦС - это серьезная просьба. Если это всего несколько серверы что нужно доверять это одно, но спрашивать вся их инфраструктура доверять этому - то, от чего, я бы сказал, большинство компаний откажется.

Расширенный атрибут ограничения имени может использоваться для ограничения подписи с сертификатом для определенного домена. Это часть инфраструктуры PKI (RFC 5280 - раздел 4.2.1.10). Насколько хорошо это поддерживается в браузерах - совсем другой вопрос.