У меня есть следующий сценарий: у меня есть сервер, работающий внутри базы данных Oracle (с Java SE 6), который подключается к веб-службе с помощью HTTP-клиента Apache (на Java). Веб-сервис должен быть защищен с помощью Kerberos, то есть с аутентификацией SPNEGO.
На моем сервере есть принципал Kerberos со случайным ключом, экспортированным в keytab, а затем импортированным в таблицу базы данных. Итак, у меня есть KerberosPrincipal с рядом связанных объектов KerberosKey (по одному для каждого метода шифрования), вся эта информация собрана в Subject.
Я ожидаю, что следующим шагом будет обращение в KDC, чтобы получить TGT и сохранить его в теме. Как мне это сделать? Вся документация, которую я нашел по этому вопросу, предполагает, что это происходит в модуле входа в систему, но в моем сценарии нет входа в систему. Или кто-то из нижеперечисленных позвонит мне в KDC?
Теперь мне нужно вызвать GSSManager.createCredential, чтобы создать GSSCredential, который я могу обернуть в KerberosCredentials и BasicCredentialsProvider, которые я могу добавить в HttpClientContext, чтобы HttpClient мог выполнять аутентификацию SPNEGO.
Но как мне получить информацию из моей темы в GSSCredential?