Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline artsb  
#1 Оставлено : 25 декабря 2010 г. 1:08:11(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Всем привет!

Пишу службу, которая будет работать с SOAP-сервисом.
Проблема заключается в следующем:
Метод MSSoapInit (в который нужно передать путь до *.wsdl файла) завершается с ошибкой.
В системном журнале событий SOAP пишет:
Цитата:
Soap error: XML Parser failed at linenumber 0, lineposition 0, reason is: Возникла проблема с безопасностью.

Soap error: Loading of the WSDL file failed.

Soap error: One of the parameters supplied is invalid..

Запрос файла происходит по защищённому каналу, т.е. путь до файла имеет вид:
https://.../*.wsdl
На одном из форумов говорят что дело может быть в сертификате.
Установил я сертификат в "Личные", но это не помогло.
Причём, через IE мне удалось добраться до этого файла. Правда IE каждый раз просит выбрать, какой сертификат нужно использовать для соединения.

Попробовал подключиться к другому SOAP-сервису (файл *.wsdl для которого так же нужно получать по защищённому соединению) и всё прошло без проблем. Причём, никаких дополнительных сертификатов устанавливать не пришлось. И IE его открыл без всяких разговоров.

Вопрос в том, из-за чего могут возникать приведённые выше ошибки.

Заранее, спасибо.

Отредактировано пользователем 27 декабря 2010 г. 23:46:46(UTC)  | Причина: Не указана

Offline Kirill Sobolev  
#2 Оставлено : 27 декабря 2010 г. 18:31:43(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
На одном из форумов говорят что дело может быть в сертификате.
Установил я сертификат в "Личные", но это не помогло.
Причём, через IE мне удалось добраться до этого файла. Правда IE каждый раз просит выбрать, какой сертификат нужно использовать для соединения.

Для WSDL файла используется односторонняя TLS аутентификация, соответственно IE вообще никакие сертификаты спрашивать не должен.
У Вас неправильно настроен IIS.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#3 Оставлено : 28 декабря 2010 г. 0:04:07(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Подправил первый пост.

Kirill Sobolev, спасибо за ответ.

Kirill Sobolev написал:
соответственно IE вообще никакие сертификаты спрашивать не должен.

Тем не менее... Если выбрать любой другой сертификат из списка, то файл не открывается. Просто белая страница.

Kirill Sobolev написал:
У Вас неправильно настроен IIS.

Я его даже не устанавливал и не настраивал никак. А разве IIS нужен на клиентской машине?

Не могли бы вы подробнее рассказать про сертификаты при работе с SOAP-сервисами? Какие нужны на клиентской машине? Какие условия должны быть соблюдены (типа, параметр CN должен быть равен имени домена, на котором находится SOAP-сервис)?


К вашему SOAP-сервису подключаюсь без проблем (только вызывать методы не пробовал). И через IE ваш WSDL-файл открывается отлично. А вот к ГНИВЦ'овому SOAP-сервису подключиться не могу. Возникают вышеуказанные ошибки. А через IE WSDL-файл открывается, но при этом просит указать сертификат для соединения.

Может ли проблема быть на стороне SOAP-сервиса?

ЗЫ возможно, есть глупые вопросы, но с SOAP'ом я работаю впервые, а толковых мануалов найти не удалось.

Отредактировано пользователем 28 декабря 2010 г. 0:06:47(UTC)  | Причина: Не указана

Offline Kirill Sobolev  
#4 Оставлено : 28 декабря 2010 г. 20:27:55(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
Если выбрать любой другой сертификат из списка, то файл не открывается.

Список вообще не должен появляться.
Цитата:
А разве IIS нужен на клиентской машине?

Нет. Вы В вопросе не указали, что подключаетесь к стороннему SOAP сервису, поэтому я решил что и УЦ тоже Ваш.
А вопрос, я так понял, вообще к УЦ не относится?
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#5 Оставлено : 28 декабря 2010 г. 23:14:35(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Kirill Sobolev написал:
Список вообще не должен появляться.

Да. Знаю. Я тоже удивляюсь, почему он каждый раз появляется.

Kirill Sobolev написал:
А вопрос, я так понял, вообще к УЦ не относится?

Да. Вопрос больше относится к работе с SOAP-сервисами. Т.к. на форуме ГНИВЦ'а сотрудники не появляются месяцами, я не дождался от них ответа и задал эти вопросы на разных форумах. Пока, Вы единственный, кто хоть как-то помогает.
Я думаю, что с вызовом методов проблем не возникнет. Нужно только разобраться, почему не удаётся получить WSDL-файл.
Offline artsb  
#6 Оставлено : 29 декабря 2010 г. 2:30:40(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Вот интересно, для того чтобы подключиться к вашему SOAP-сервису, нужно ли устанавливать на клиентской машине какие-либо сертификаты?
Offline Kirill Sobolev  
#7 Оставлено : 29 декабря 2010 г. 15:27:44(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
Да. Вопрос больше относится к работе с SOAP-сервисами. Т.к. на форуме ГНИВЦ'а сотрудники не появляются месяцами, я не дождался от них ответа и задал эти вопросы на разных форумах. Пока, Вы единственный, кто хоть как-то помогает.
Я думаю, что с вызовом методов проблем не возникнет. Нужно только разобраться, почему не удаётся получить WSDL-файл.

Теперь понятно. Дело в том, что MS Soap toolkit не умеет получать WSDL по SSL c 2х сторонней аутентификацией. Именно поэтому в КриптоПро УЦ для WSDL описаний выставляется опция "Игнорировать сертификаты клиентов" и именно поэтому с УЦ у Вас все работает. А в ГНИВЦ настроено "Требовать сертификаты клиентов", о чем указывает список сертификатов при обращении из IE. Вам нужно использовать какой-то другой SOAP клиент при обращении к их веб-сервису, например из .NET.
Цитата:
Вот интересно, для того чтобы подключиться к вашему SOAP-сервису, нужно ли устанавливать на клиентской машине какие-либо сертификаты?

Само собой, на клиентской машине должна без ошибок строиться цепочка до сертификата веб-сервера, на котором работает сервис.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#8 Оставлено : 30 декабря 2010 г. 0:23:36(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Kirill Sobolev написал:
Дело в том, что MS Soap toolkit не умеет получать WSDL по SSL c 2х сторонней аутентификацией. Именно поэтому в КриптоПро УЦ для WSDL описаний выставляется опция "Игнорировать сертификаты клиентов" и именно поэтому с УЦ у Вас все работает. А в ГНИВЦ настроено "Требовать сертификаты клиентов", о чем указывает список сертификатов при обращении из IE.

Теперь, всё немного прояснилось. Спасибо.
Я думаю, что сообщу об этом начальству. Может они свяжутся с ГНИВЦ'ом и что-нибудь решат на стороне ГНИВЦ'а.
Kirill Sobolev написал:
Вам нужно использовать какой-то другой SOAP клиент при обращении к их веб-сервису, например из .NET.

Хм... В .NET есть SOAP-клиент? Наверное, у меня не получится его прикрутить. У меня обычное консольное приложение.
Kirill Sobolev написал:
Само собой, на клиентской машине должна без ошибок строиться цепочка до сертификата веб-сервера, на котором работает сервис.

Я так понимаю, что здесь Вы говорите о сертификате для SSL, который устанавливается через параметры SOAP-клиента, с помощью метода put_ConnectorProperty(L"SSLClientCertificateName", /* certName */). Так?
Offline Kirill Sobolev  
#9 Оставлено : 30 декабря 2010 г. 16:14:57(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
Хм... В .NET есть SOAP-клиент? Наверное, у меня не получится его прикрутить. У меня обычное консольное приложение.

Есть. Из .NET , например, можно вызывать ИВП Крипто-Про УЦ. И от интерфейса приложений это никак не зависит.
Цитата:
Я так понимаю, что здесь Вы говорите о сертификате для SSL, который устанавливается через параметры SOAP-клиента, с помощью метода put_ConnectorProperty(L"SSLClientCertificateName", /* certName */). Так?

Нет. Через параметры SOAP клиента устанавливается именно клиентский сертификат, а я имел ввиду серверный.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#10 Оставлено : 30 декабря 2010 г. 19:52:23(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Спасибо за Ваш ответ.
Сегодня поговорил с начальством. Сказали написать письмо в ГНИВЦ.
Как получу ответ - отпишусь.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.