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