Привет, все.
Нигде не могу найти некоторые моменты работы SSL.Нашел в спецификации, что сервер может тоже запрашивать у клиента сертификат. А что это за сертификат, откуда он у клиента возмется (кто ему выдал этот сертификат), не нашел. Он должен быть встроен в браузер, или выдается лично клиенту. Как узнать, запросил ли сервер сертификат у клиента?
Как проходит проверка сертификата сервера браузером? На сколько я понимаю, у браузера есть список встроеных CA(certificate Authorities), которые могут раздовать сертификаты и он когда получает сертификат от сервера, то он проверяет, что сертификат сервера подписан одним из известных CA. Зачем нужна эта проверка, от чего она защищает, ведь кто угодно может за купить сертификат?
Заранее спасибо.
Привет,Т.наз. клиентский сертификат может быть выдан клиенту сервером по заказу клиента (т.е. браузера). Клиентский сертификат является как бы "парным" серверному сертификату; web сервер может быть сконфигурирован так, чтоб при установлении SSL сессии проверять или даже требовать от клиента выставить свой клиентский сертификат (при отсуствии которого связь может быть отказана, т.е. клиентский сертификат может считатьса фактором аутентикации).
Создание клиентского сертификата проходит по-разному в IE и в Mozilla; в обоих случаях генерируется private key и certificate signing request, который автоматически отсылается серверу; затем сервер "возвращает" сертификат и с помощью client-side scripting "запихивает" сертификат в браузер.
Если у вас Apache, посмотрите документацию mod_ssl, в частность, директивы
SSLVerifyClient и SSLVerifyDepth. Процесс генерирования клиентского ключа описан в документации самих браузеров; небольшой прмер вот здесь:
http://wiki.rcpt.to:8180/pkcs/ca.htmlWWell,
Большое спасибо за исчерпывающий ответ.