raveendranath Ответов: 1

Вызов SSPI не удался, см. Внутреннее исключение. Полученное сообщение было неожиданным или плохо отформатированным


1. У нас есть веб-сокет сервер приложений (на Java [Линукс] - TLS12)
2. клиентское приложение Java (клиентская библиотека java)
3. Точка продажи клиентское приложение (Точка чистая клиентская библиотека - чистая 4.5.2)

Мы можем подключиться к серверному приложению web-socket через клиентскую библиотеку java без каких-либо проблем, но мы получаем следующее исключение, когда пытаемся подключиться с помощью клиентской библиотеки dot net:
Цитата:
сведения об ошибке :
"Вызов SSPI не удался, см. Внутреннее исключение. Полученное сообщение было неожиданным или плохо отформатированным"

Трассировка стека :
в системе.Нет.Безопасности.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
в системе.Нет.Безопасности.SslState.EndProcessAuthentication (результат IAsyncResult)
в SuperSocket.ClientEngine.SslStreamTcpSession.OnAuthenticated (результат IAsyncResult)

Что я уже пробовал:

1. System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
2. поскольку он работает из клиентской библиотеки java, не должно быть никаких проблем с сертификатом на сервере.


Пожалуйста, помогите, заранее спасибо.

Richard MacCutchan

Сообщение об ошибке сообщает вам, какая часть запроса вызвала eroro. Вам просто нужно осмотреть его, чтобы понять, почему.

raveendranath

Я просто попытался открыть соединение, но не отправил никакого контента.

См. следующий код

клиент = новый WebSocket(wsClientImpl.URL-Адрес, SslProtocols.Tls12.Метод toString () значение null, authorizationHeaderItems, "","", WebSocketVersion.Никто);
клиент.Открыть();

Richard MacCutchan

Посмотрите на сообщение об ошибке: "Полученное сообщение было неожиданным или плохо отформатированным" Таким образом, куда бы вы ни отправляли это сообщение, получатель либо не ожидает его, либо то, что вы отправляете, находится в неправильном формате.

1 Ответов

Рейтинг:
2

raveendranath

1. Обновлено WebSocket4Net.dll чтобы

0.15.0-beta6


2. изменен код следующим образом
websocket = new WebSocket4Net.WebSocket(URL,
          sslProtocols: SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls,
          customHeaderItems : authorizationHeaderItems);


Это сработало для меня.