powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / MessageSecurityException
17 сообщений из 17, страница 1 из 1
MessageSecurityException
    #39772970
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Есть следующая проблема.

По wsdl и xsd с помощью svcutil был сгенерён wcf-сервис.

Используемый биндинг.
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
      <customBinding>

        <binding name="wsBindingKerberos">
          <security authenticationMode="Kerberos"
          requireDerivedKeys="false"
          includeTimestamp="true" securityHeaderLayout="Lax"  requireSignatureConfirmation="true" >            
            
          </security>
          <textMessageEncoding messageVersion="Soap11" />
          <httpTransport />
        </binding>

      </customBinding>


создан spn. Конфигурация сервиса
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
     <service name="serviceName" behaviorConfiguration="serviceBehavior">
        <endpoint address="" binding="customBinding" bindingConfiguration="wsBindingKerberos" contract="ContractName">
          <identity>
            <servicePrincipalName value="spn" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>


Клиент (на который нельзя повлиять и который должен отправлять сообщение в соответствии с wsdl, по которой генерился сервис), который вызывает данный сервис падает с http 500, verifying security. Подключив запись ошибок в eventLog получаем
MessageSecurityException: the signature must be in the security header.

И соответствующего блока (Signature) клиент не отправляет (согласно wireshark-у)
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<soap:Header>
            <wsse:Security
                soap:mustUnderstand="1"
                xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                <wsse:BinarySecurityToken
                    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
                    EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
                    ValueType="http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ"
                    wsu:Id="">
                     ...
                    </wsse:BinarySecurityToken>
                </wsse:Security>
            </soap:Header>



тестовый клиент, созданный на основе wsdl получившегося сервиса работает, но заголовок отправляет другой (с блоками timestamp и Signature).

Цель: понять причину возникновения ошибки и как настроить wcf-сервис валидировать текущие сообщения.
Есть идеи куда копать?
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772977
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,
Как это клиент нельзя менять?
Сервер первичен и под него клиент пунктом в меню Сгенерить прокси классы.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772978
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonsvcutilделайте с IDE, а не утилитами. Это же MS.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772981
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
в данном случае это шина, работающая с кучей других систем. Как минимум, это бюрократия.
Вопрос можно ли обойтись настройками биндинга серверной части...запретить верифицифировать как-то подпись в заголовке, например или что-то подобное.
Кроме безопасности, к сообщениям, приходящим с шины нет никаких претензий - на базовом биндинге, без заголовков всё обрабатывается корректно.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772983
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,
Сначала надо тесты сделать. Найти причину.
Для этого сделать как в мануале. Время занимает 10 минут чтобы спорить.
Делайте тест площадку.
2. У вас получается что клиента не трогать, а сервер можно? Не пойму логики.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772985
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonобойтись настройками биндинга серверной части.клиент строит классы запросив сервер.
А не наоборот.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772986
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Понимаю, что это несколько странно, но действительно клиент(шину) менять крайне сложно. А главное, я не могу на это существенно повлиять
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772989
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,

Да может и менять не надо будет. Ты сравнишь конфиг публикуемый сервером в http с тем что счас на клиенте.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39772990
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в экселе подгонка формулы в обратную сторону.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773029
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonЦель: понять причину возникновения ошибкиkerberos

skonкак настроить
Сравнить отличия конфигов или net версии или.........
в рабочем и нерабочем клиенте.
... Ваше страшное слово шина не меняется. Возможно сменятся только конфиги.
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773173
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
хотелось бы ещё понять может ли быть заголовок soap-сообщения без <timeStamp> и <Signature> быть валидным при режиме проверке подлинности kerberos. И если да, как настроить биндинг
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773182
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,
Что то ты темнишь брат)))
Выше ты написал что есть рабочий клиент с kerberos.
Почему не сравнить рабочий и не рабочий конфиг загадка).
Лезть в нижний уровень протокола soap мягко скажу - для скучающих).
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773222
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
так у меня нет никакого доступа к нерабочему клиенту...я могу только снифить его сообщения и знаю под какую wsdl он был настроен)...wsdl-ки (сервера и та под которую настраивался проблемный клиент) до определённой степени совпадают. На серверной есть, например...
Код: xml
1.
2.
3.
4.
5.
<sp:Layout>
<wsp:Policy>
<sp:Lax/>
</wsp:Policy>
</sp:Layout>


...что едва ли может повлиять на работу
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773247
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonтак у меня нет никакого доступа к нерабочему клиенту...я могу только снифить его сообщенияэто как?
Лечить будем по фотографии?
Что за программист который не может развернуть тест локально но знает что такое снифить))).
Может перелогинишься?))
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773262
skon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Вы же допускаете, что сообщение создаётся программно, а не через конфиг?)

я пока и не предлагал лечить глобально...

на первом этапе меня интересует
1. возможность получения заголовка soap-сообщения без временной метки и подписи (только wsse:BinarySecurityToken) при использовании билета kerberos для проверки подлинности клиента.
2. Может ли отсутствие данных тегов в заголовке приводить к ошибки из первого сообщения
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773281
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skonВы же допускаете, что сообщение создаётся программно, а не через конфиг?)рядом тема есть про динамику.
Можно создать окно на win32 api. А можно form.Create().
С первым способом не ко мне. Жизнь коротка чтобы этим заниматься.
Ищите любителя программно отсылать сообщения вручную.
Тут есть один такой мембер.
Удачи!
...
Рейтинг: 0 / 0
MessageSecurityException
    #39773286
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skon,
Кстати, вот у меня перед носом сервер и клиент на тестовой.
Спрашивается, на кой ляд копаться в транспортном уровне если есть прикладной?
Вы бы хоть обосновали важность такого копания))
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / MessageSecurityException
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]