Сертификат клиента SSL нуждается в специальном содержимом?

У меня есть сервер с сертификатом SSL и клиенты с сертификатами SSL, все они подписаны одним и тем же ЦС, и ЦС является доверенным на сервере и клиентах как корневой орган.

Однако ни один из клиентов, которые я пробовал (iphone, chrome, explorer), не будет отправлять сертификат клиента, когда сервер запрашивает его, даже если все они отлично проверяют сертификат сервера. Все утверждают, что сертификата нет.

Когда я смотрю на сертификат клиента в сертификате/профиле/хранилище, все они утверждают, что он проверен и легитимен, и все сертификаты проходят проверку с использованием openssl и т. д.

Требуется ли клиентскому сертификату SSL конкретное имя или другие данные, чтобы клиентские браузеры знали, когда его использовать? Что-то вроде того, как сертификат сервера должен указывать точный домен в качестве имени в сертификате?

Сервер представляет собой сервер apache2.2, но я не думаю, что это проблема на стороне серверов.


person myforwik    schedule 02.09.2011    source источник


Ответы (2)


  1. В клиентских сертификатах должны быть установлены соответствующие расширения использования ключа и расширенного использования ключа. Что "уместно" в вашем случае, я точно не знаю, но количество вариантов в Key Usage невелико, и вы сами можете проверить различные значения.
  2. Вы наверняка не забыли о закрытом ключе, который должен быть доступен на стороне клиента, не так ли?
person Eugene Mayevski 'Callback    schedule 02.09.2011
comment
Спасибо, как-то я поместил ключ сервера в pfx клиентов. - person myforwik; 05.09.2011

В этом документе приведено краткое описание использования ключа и расширенных расширений использования ключа:

(Хотя это для NSS, это должно применяться к другим продуктам.)

Вы также можете проверить, правильно ли настроен список принятых ЦС, отправляемых сервером. Это можно увидеть, например, с помощью openssl s_client -connect the.host.name:443.

person Bruno    schedule 02.09.2011