У меня есть серверное приложение Linux, которое использует Kerberos для аутентификации клиента и клиент, который должен работать в Windows. Билеты Kerberos выдаются Windows Active Directory. Клиент успешно проходит аутентификацию на сервере, если я использую MIT KfW 3.2.2. API для получения билетов AS и TGS с сервера Kerberos и сохранения их в хранилище учетных данных kerberos. Но проблема этого подхода заключается в том, что пользователю необходимо снова ввести свои учетные данные.
Решение было бы получить доступ к хранилищу MS LSA, но это не работает. Так же как и приложение ms2mit.exe. Не имеет значения, запускаю ли я его как обычный пользователь или как администратор, или полностью отключаю UAC.
Вот почему я хотел бы использовать SSPI на клиенте, чтобы создать сообщение KRB_AP_REQ, которое я отправлю на сервер. Это возможно. Если да, как это можно сделать? Если нет, каковы мои другие варианты? Обратите внимание, что сервер уже собран, и для его изменения потребуются значительные усилия, поэтому я хотел бы найти решение для Windows.