Клиент SSPI требует меньше итераций, чем сервер GSSAPI

Я использую nsspi для вызова API SSPI из приложения C# для клиентской стороны. Я использую Cyrus SASL с реализацией MIT Kerberos GSSAPI на стороне сервера.

Кажется, что эти два протокола взаимодействуют друг с другом, но серверу, похоже, требуется больше проблем для клиента, чем тот, который клиент готов выполнить.

Вот журнал отладки клиента:

- Creating client context
- CONTINUE_NEEDED after calling InitializeSecurityContext, sending clientToken to the server
- received new server challenge
- OK after calling InitializeSecurityContext, out clientToken is null.
- no data to send to the server, sending NULL data
- received new server challenge
- NSspi.SSPIException: Failed to invoke InitializeSecurityContext for a client. Error Code = '0x80090301' - "The handle provided to the API was invalid.".

вот журнал отладки сервера:

- received client packet
- SASL start with GSSAPI
- GSSAPI server step 1
- received CONTINUE
- sending challenge to client
- received client packet with NULL data
- GSSAPI server step 2
- sending challenge to client
- client ended unexpectedly

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

Я использую те же флаги, что и клиентская демонстрация nsspi для создания контекста.

У кого-нибудь есть идея, почему это может происходить?

0 ответов

Другие вопросы по тегам