Я создаю сайт со своим собственным ЦС и подписываю с ним сертификаты клиентов. Клиентам нужно будет добавить мой ЦС в качестве надежного источника, но из соображений безопасности я не хочу, чтобы они слепо доверяли всему, что может быть подписано с помощью ключа ЦС, поэтому я хочу наложить ограничения для создания доверия клиентов. Поэтому я хочу ограничить возможности центра сертификации только подписью сертификатов клиентов и включением доступа https
. Я не уверен, что все ограничения, которые я должен наложить при создании сертификата.
Похоже, лучший способ сделать это - Ограничения имени и использовать белый список для ограничения использования, который равен видимо сейчас уважаемый . Итак, я, хотя мне нужно использовать DNS (скажем, xyz.com), поэтому подпись CA не будет принята для google.com f.ex, и поместите ее также в каждый SAN сертификатов клиента, поэтому сертификаты клиента считается действительным и не отклонено. Видимо, это не так. Я пробовал это, но мне не удалось заставить его работать правильно. Итак, я должен использовать DNS (скажем, xyz.com), поэтому подпись CA не будет принята для google.com f.ex, и поместите ее также в каждый SAN сертификатов клиентов, поэтому сертификаты клиентов считается действительным и не отклонено. Видимо, это не так. Я пробовал это, но мне не удалось заставить его работать правильно. Итак, я, хотя мне нужно использовать DNS (скажем, xyz.com), поэтому подпись CA не будет принята для google.com f.ex, и поместите ее также в каждый SAN сертификатов клиента, поэтому сертификаты клиента считается действительным и не отклонено. Видимо, это не так. Я пробовал это, но мне не удалось заставить его работать правильно. Кроме того, я получаю предупреждение от Windows ... Может быть, это потому, что должны присутствовать все возможные типы ограничений имени ?
Итак, мои вопросы:
EDIT
В идеале, там В моем сертификате CA должно быть что-то, что заставляет его подписывать только сертификаты клиентов и выполнять аутентификацию сервера https. Я не понимаю, как сделать это ограничение, я думаю, что это невозможно.
Для использования ограничений имени я использую xyz.com
, как разрешено, и я думал, что будут приняты только сертификаты, подписанные моим центром сертификации с SAN xyz.com
и фактически используемые с этим именем (в противном случае я мог бы создать сертификат с SAN xyz.com
и google.com
и может работать при доступе к google.com
). Поэтому я использовал сертификат клиента, подписанный моим центром сертификации, без SAN xyz.com
, и меня приняли. Не уверен, что ограничения имен применимы и в этом случае.
Существует несколько ограничений, которые вы можете установить в выпускающем сертификате. ограничения, какие сертификаты он может подписывать.
Вы уже упоминали об этом. Они могут использоваться для ограничения того, какие имена могут использоваться в различных типах альтернативного имени субъекта конечного сертификата (внесение в белый список с использованием allowedSubtrees ) или не могут использоваться (внесение в черный список с использованием excludedSubtrees ). На практике, вероятно, вам нужен первый вариант. Типичный вариант использования - разрешить только адреса электронной почты и dnsNames, которые заканчиваются на одно из доменных имен вашей компании.
На этой странице содержится более подробная информация.
Это расширение может указывать , в соответствии с которой может быть выдан конечный сертификат. Поскольку это не то, что вы действительно можете технически применить (кроме сравнения OID), это не будет вам полезно
Это не совсем стандартное использование, но поскольку ваш снимок экрана предполагает, что вы живете в мире Microsoft, это может быть вам полезно. Microsoft изобрела так называемую политику приложения , которая позволяет выпускающему сертификату ограничивать использование расширенного ключа, которое может иметь выпущенный конечный сертификат. Установив для этой политики значение tlsClientAuthentication, вы можете гарантировать, что выдаются только такие клиентские сертификаты, а не сертификаты сервера TLS или сертификаты подписи кода. За пределами космоса Microsoft это расширение, вероятно, будет проигнорировано.
И последнее слово: проверка этих ограничений довольно сложна, большинство программ даже не удосуживаются попробовать, и не так много продуктов, которые действительно используют это правильно.