Даёт ли клиентский сертификат гарантию что только собственный клиент установит соединение?
Как его установить на клиенте не браузере?
Как проверять?
Как конфигурируются клиент и .Net сомпонент в IIS?
Re: Как использовать клиентский сертификат в сыоей программе
Кое-что нашёл на эту тему, но какая то путаница в голове.
Если правильно понял, то вроде мне нужно (кроме серверного)
1. получить клиентские сертификаты для автономного компьютера.
2. сопоставить им уч. записи.
Не понял, клиентский сертификат привязывается к компу, а не к определённому клиенту?
Если ресурс требует клиентский серт., то что клиентский Win его сам предоставляет?
Объясните пож как это всё происходит
Re: Как использовать клиентский сертификат в сыоей программе
Здравствуйте, tpru, Вы писали:
T>Даёт ли клиентский сертификат гарантию что только собственный клиент установит соединение? T>Как его установить на клиенте не браузере? T>Как проверять? T>Как конфигурируются клиент и .Net сомпонент в IIS?
Не понятен вопрос, напиши какая у тебя задача?
Клиентский сертификат служит для аутентификации некоторого субъекта через Inet по SSL/TLS. Для этого он должен быть установлен на клиенте, а на сервере он может быть использован по разному, в зависимости от целей. На сервер он доступен в параметрых текущей сессии с клиентом.
Спасибо.
Re[2]: Как использовать клиентский сертификат в сыоей програ
Здравствуйте, Richard, Вы писали:
R>Здравствуйте, tpru, Вы писали:
T>>Даёт ли клиентский сертификат гарантию что только собственный клиент установит соединение? T>>Как его установить на клиенте не браузере? T>>Как проверять? T>>Как конфигурируются клиент и .Net сомпонент в IIS?
R>Не понятен вопрос, напиши какая у тебя задача?
R>Клиентский сертификат служит для аутентификации некоторого субъекта через Inet по SSL/TLS.
Это и есть моя задача.
На сервере у меня компонент IIS hosting.
Клиент (не браузер) через https взаимодействует с сервером.
Задача — аутентификация клиента.
Только имеющие мой клиентский сертификат клиенты могут обращаться к серверу (если я хоть приблизительно правильно понимаю).
Короче говоря, мне нужна взаимная аутентификация клиента и сервера.
Как это сделать?
Спасибо.
Re[3]: Как использовать клиентский сертификат в сыоей програ
Здравствуйте, tpru, Вы писали:
T>Здравствуйте, Richard, Вы писали:
R>>Здравствуйте, tpru, Вы писали:
T>>>Даёт ли клиентский сертификат гарантию что только собственный клиент установит соединение? T>>>Как его установить на клиенте не браузере? T>>>Как проверять? T>>>Как конфигурируются клиент и .Net сомпонент в IIS?
R>>Не понятен вопрос, напиши какая у тебя задача?
R>>Клиентский сертификат служит для аутентификации некоторого субъекта через Inet по SSL/TLS.
T>Это и есть моя задача.
T>На сервере у меня компонент IIS hosting.
T>Клиент (не браузер) через https взаимодействует с сервером. T>Задача — аутентификация клиента.
T>Только имеющие мой клиентский сертификат клиенты могут обращаться к серверу (если я хоть приблизительно правильно понимаю).
T>Короче говоря, мне нужна взаимная аутентификация клиента и сервера. T>Как это сделать? T>Спасибо.
1. Клиент должен при открытии соединения пропихивать свой сертификат серверу. Подробности сильно зависят от технологии разработки клиента.
2. На сервер (IIS) можно автоматически проверять: алгоритм на котором работает соединение (необходимо чтоб алгоритмы ЭЦП для сервера и клиента совпадали), Удостоверяющий центр, который выпустил сертификат. Руками можно проверять еще много чего из самого сертификата, например, область его использования, и .т.п.
Думаю, что тебе будет достаточно просто проверять Удостоверяющий центр, он настраивается с свойствах вэб-узла. Как результат, к твоему узлу с 2хсторонней аутентификацией смогу подключаться только клиенты, которым выдал сертификат твой (или тот которому ты доверяешь) УЦ.
Спасибо.
Re[4]: Как использовать клиентский сертификат в сыоей програ
Здравствуйте, Richard, Вы писали:
R>1. Клиент должен при открытии соединения пропихивать свой сертификат серверу. Подробности сильно зависят от технологии разработки клиента.
Никак не могу найти, как клиент связан с клиентским сертификатом, и соответственно, как он может его пропихивать. У меня клиент — Windows Form.
И кому вообще клиентский сертификат принадлежит — программе, или компьютеру?
Re[5]: Как использовать клиентский сертификат в сыоей програ
Здравствуйте, tpru, Вы писали:
T>Здравствуйте, Richard, Вы писали:
R>>1. Клиент должен при открытии соединения пропихивать свой сертификат серверу. Подробности сильно зависят от технологии разработки клиента.
T>Никак не могу найти, как клиент связан с клиентским сертификатом, и соответственно, как он может его пропихивать. У меня клиент — Windows Form. T>И кому вообще клиентский сертификат принадлежит — программе, или компьютеру?
Вообще-то, в соотвествии с российским закондательством, сертификат принадлежит физическому лицу
Реально сертификаты все храняться в хранилище сертификатов, их можно посмотреть или из IE или из MMC. Они могут относиться или к текущему пользователю (CURRENT_USER) или к локальной машине или к сервису.
Пропихивать его можно по-разному, это зависит от тех компонент или того API которым ты пользуешься для работы с HTTPS, сам понимаешь варианты могу быть самые непредсказуемые. Кстати, может быть и такое, что твои компоненты вообще не поддерживают данную возможность
Но все уши растут от одной Win32 API функции WinHttpSetOption, реально через нее происходит указание клиентского сертификата для соединения с сервером.
Спасибо.
Re[6]: Как использовать клиентский сертификат в сыоей програ
R>Но все уши растут от одной Win32 API функции WinHttpSetOption, реально через нее происходит указание клиентского сертификата для соединения с сервером.