Server на C#: RPC SOAP XML-RPC SSL

 
0
 
.NET
ava
JohnWest | 22.11.2007, 13:56
Так вот. Мне нужно сделать сервер, который будет разпаковывать XML-RPC или SOAP запросы на исполнение кода. В ответ он убдет запаковывать в такойже формат ответ.
Сделать через HTTP смог. Но как включить аутентификацию клиентом сервера, и наоборот? плюс шифровать поток например через SSL ? smile
Неделю куру, никак не вкурю. Как вариант, думаю сделать TcpListener и SslStream и сам пак/депак объектов делать. Но клиент хочет быть стандартным. Т.е. юзать например SOAP. Вот я и не знаю, как сделать его стандартным. Самому эмулировать работу Web сервера? smile

Есть предложение сделать приложение, которое будет WEB сервер запускать через CGI, но это не то. Хочу обособленную вещь.
Comments (3)
ava
Experimenter | 22.11.2007, 19:35 #
JohnWest, приветствую на форуме!
Цитата


Но как включить аутентификацию клиентом сервера, и наоборот? плюс шифровать поток например через SSL ?


Для работы по SSL я использую стандартный код обмена с применением HttpWebRequest-HttpWebResponse, единственный момент - перед началом работы приложения по HTTPS необходимо зайти на нужный сайт через IE и вручную установить в системе предложенный сертификат. После этого твое приложение будет работать по SSL так же, как по открытому протоколу (я имею в виду без дополнительных усилий). Шифровать самому тоже ничего не нужно, протокол сам все зашифрует. Так что стандартность обеспечена.
ava
JohnWest | 22.11.2007, 21:16 #
Т.о. мне его надо будет захостить под IIS, так? А я хочу свой сервер.

ChannelServices.RegisterChannel(channel, true);

сделать нельзя, т.к.
Цитата


Setting ensureSecurity to true throws a RemotingException for TcpServerChannel on win98 (Since secure tcp channel is not supported on wi9x) , and for Http Server Channel on all platforms (Users need to host service in IIS if they want secure http channel).


Получается придется делать TcpListener и ручками ПОСЛЕ аутентификации эмулировать web среду.
Надо через https сделать возможность передачи SOAP или XML в чистом виде... Это я могу. Но я хотел через SSL сделать Remoting. Ведь он по дефолту по чистому каналу тока работает.
Вощем курю... Спасибо за камент... Технологии мной пока не изучены. Возможно чето недопонимаю, но основная идея это сделать Remoting через шифрованный канал. Чтобы в идеальном случае это было двустороннее айтентифицирование. Сервер узнал клиента, клиент доверяет именно этому серверу.
ava
JohnWest | 23.11.2007, 13:43 #
сделал "aspnet_regiis.exe -i", но это мелочи.

Короче выработал такую технологию: Создал WebService. Он все общение оборачивает в SOAP.
Все обрабатываемые запросы будут через Remoting выполнятся в основной проге, которая тоже висит всегда (ведет свою простейшую базу данных и работает с другим софтом через API. )
Собсно, все вопросы шифрования и аутентификации ложаться на IIS. Прога тока данными манипулирует.

Мешпроцессорное взаимодействие думаю сделать на IPC технологии с BinaryFormatter. Будет быстро и просто. имхо.
Вопос безопасности рекомендуют просто решить локальной политикой юзеров.

Получается стандартный WebService по стандартному протоколу гоняет данные, все вызовы по IPC перенаправляет в реальный сервер, который мутит данные.

Немного громоздко, увы... Умнее решения пока не нашел...
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit