Способы установить двустороннию аутентификацию на основке сертификатов клиента с сторонним сервисом?
Можете помочь в направлении поиска информации и что почитать...
Суть:
Есть система (A), предоставляющая некое API, но оно с двусторонней аутентификаций на основе сертификатов клиентов.
И мой сервис - в роли посредника. предоставляет некоторый UI.
То есть, клиент (пользователь) имеет у себя на машине всё необходимое для работы с сертификатами.
При формировании запросов, через через мой сайт, формирует и отправляет запрос на сервис (A).
Как можно установить двустороннюю аутентификацию на основе сертификатов клиентов. с сервисом (A), через мой сайт?
Вы уже не первый раз спрашиваете и я все никак уяснить не могу - смысл-то Вашего сайта для пользователя в чем? Сертификаты нужны для того, чтобы гарантировать, что никто не вмешивается в двустороннее соединение, никто третий его не прослушивает. А у Вас MitM такой получается, да? Или соединение устанавливается с Вашего сайта?
росреестр предоставляет SOAP wsdl для формирования заявлений. и наш сайт - оболочку для формирования этих SOAP. Десктоп такое приложение я сделала, и хотелось перенести все на WEV, и вот не хватает немного знаний. как установить это соединение между пользователем и росреестром?
Думала. сделать десктопный адапртер, который как служба позволить : соединяться с росреестром и отправлять с запросы на него и на мой сервис параллельно.
Лариса .•º, Насколько я понял, для подключения надо иметь клиентский сертификат. Тогда схема может выглядеть так - клиент загружает свой сертификат к Вам на сервер (если доверит конечно, потому что фактически это уровень имперсонации - Вы сможете действовать от его имени, а росреестр будет считать, что это сделал он. Я бы вот не пошел на такое) и соединение устанавливается с Вашего сервера.
Либо сертификат хранится у клиента на компе и соединение устанавливается с него, но тогда как-то пронаблюдать за происходящим в нем у Вас возможности не будет от слова совсем.
CityCat4, спасибо , дааа вариант с загрузкой клиентского сертификата к себе - меня тоже не очень.
А если с клиента, устанавливать соединение и отбросить десктоп, это нужно наверно задействовать js? или где-то мн отвечали ssl-tunel? То есть, если мой сервис сформировал заявление и от оправил на клиент , а потом как-то соеденить клиента и росресстр
Лариса .•º, Дело в том, что последовательность SSL-соединения такова, что "третий лишний" там сразу. Вот неплохое описание (из настроек bump-а для squid) как примерно проходит ssl-соединение и как оно бампится. И отсюда видно, что Вам тут не пристроиться никак. Вот статья с хабра с более подробным описанием.
Клиент инициирует соединение, сервер ему отвечает, третья сторона здесь намеренно исключается (методику бампинга squid мы опустим - там используется весьма специфический прием, как правило для физиком не применимый).