Как получить ключ сеанса SPNEGO / Kerberos и реализовать аутентификацию HTTP: согласование на моем собственном клиенте - PullRequest
0 голосов
/ 22 сентября 2011

Недавно я столкнулся с новым методом аутентификации, о котором я понятия не имел. Прочитав немного и изучив, чтобы понять это, я понял, что это как-то связано со SPNEGO, или, может быть, это просто spnego.

Я запускаю Windows XP в большой сети, когда мой браузер открывает его автоматически подключается к веб-сервису в сети, который требует аутентификации:

HTTP / 1.1 401 Несанкционированный WWW-Аутентификация: переговоры

, тогда мой браузер отправляет автоматически (вместе с другими заголовками курса):

Авторизация: переговоры (зашифрованная строка).

Я пришел к выводу, что Рукопожатие использует протокол SPNEGO.

Что мне нужно сделать, так это создать свой собственный клиент (на самом деле, это бот, который использует этот веб-сервис и требует такой аутентификации). Мне нужно получить эту зашифрованную строку (точно так же, как ее получает мой браузер, возможно, с использованием некоторого протокола SPNEGO) без какого-либо взаимодействия с пользователем (опять же, как мой браузер).

Дело в том, что у меня недостаточно времени для изучения протокола spnego и его реализации.

Я использую c / c ++, но если у меня нет опции c #, то все будет в порядке. Существуют ли какие-либо функции / классы / коды или, может быть, даже хорошие учебники, которые помогут мне реализовать это в ближайшее время?

1 Ответ

1 голос
/ 22 сентября 2011

curl работает с Kerberos / spnego.Я не уверен, насколько хорошо эта функциональность работает в Windows, вы должны попробовать.Это работает достаточно хорошо на Linux.Вы можете посмотреть на источник, чтобы увидеть, как это делается.

...