Проверяние билета обслуживания Kerberos с использованием GSS-API
Вопрос
Я хочу сделать программу для проведения авторизации трафика с помощью GSS-API / Kerberos.До сих пор я могу связаться с SSOS и получить сервисный билет.Если у пользователя нет TGT, я делаю что-то похожее на Kinit в моем коде.
Мой код заканчивается пользователем, имеющим TGT, так и сервисный билет в его кэше.Следующий метод будет прочитать токен, отправленный сервером.
majorStatus = gss_unwrap (&minorStatus,
inContext,
&inputBuffer,
&outputBuffer,
&encrypted,
NULL;
.
Прямо сейчас выводит грабитель грани.Я имею в виду, я ничего не проезжаю.Я должен быть?
Я хочу связаться с другим сервером (сервис), который проверит мой билет, и если действителен, позволит мне отправить трафик через него.
Использование gssapi Как я могу варифицировать такую вещь?Я знаю, что методы, такие как обертывание / разворачивание.Где ключ сервисного сеанса хранится в клиенте?После того, как я получу билет на сервере сервиса, как мне это подтвердить?
Извините, если я смешиваю некоторые концепции, но это первый раз, когда я работаю с таким сложным API.
Спасибо заранее ...
Решение
I want to contact another server(the service) who will check my ticket and if valid allow me to send traffic through him.
.
Вы используете функции GSS-API init_security_context (на стороне клиента) и accept_security_context () на стороне обслуживания.Обратитесь к http://web.mit.edu/kerberos/krb5-devel / doc / appdev / gssapi.html для получения информации и, возможно, проверьте некоторые примеры онлайн ( http://docs.orcle.com/cd/e19683-01/816-131/sampleprogs-1/index.html )
с GSS вы на самом деле не касаетесь билетов.Используя эти функции, вы можете установить безопасное соединение между клиентом и службой (функции используют билеты, OFC), и вы можете продолжить после включения.