Как люди заставляют Java-клиента SPNEGO работать в Windows?

Чтобы выполнить аутентификацию HTTP SPNEGO на стороне клиента с помощью Java в Windows, необходимо установить ключ реестра Windows.allowtgtsessionkey, Это хорошо задокументировано. Чего я не понимаю, так это как люди обходятся? Большинство корпоративных сайтов никогда не согласятся изменить этот раздел реестра в Windows ради одного программного обеспечения. Также подумайте о хлопотах, если это нужно изменить на каждой рабочей станции в организации. Но это только теория, потому что я до сих пор не смог убедить ни одного из наших клиентов изменить этот раздел реестра.

Я не виню их. Большинство корпоративных администраторов увидят эторасслабляющий безопасность и, следовательно, будет возражать против этого.

Я прочитал это:Есть ли способ в Java или утилите командной строки, чтобы получить билет Kerberos для службы, использующей собственный API SSPI?

но сейчас оно довольно старое.

Так что я действительно, действительно не понимаю, как люди могут заставить Windows + Java-клиент + Kerberos работать на чем угодно, кроме университетской среды, домашних пользователей и тому подобное.

Вопрос, который я получаю от корпоративных администраторов, заключается в следующем: «Зачем нам устанавливать этот раздел реестра, когда у таких приложений, как IE и Firefox, нет проблем с выполнением SPNEGO?без установка этого ключа? ". Хорошо, я знаю, что ответ. Это потому, что (наиболее вероятно), что приложения, такие как IE и Firefox, основаны на собственном GSS API Windows (SSPI), в то время как Sun Java использует свою собственную реализацию.

Я предполагаю, что используя что-то вродеWAFFLE решил бы проблему, но я бы предпочел чистое решение Java. Я также предполагаю, что это не поможет использовать решения на основе Java, такие как Spring security или Apache HttpClient, поскольку все они будут страдать от этой проблемы.

Любая помощь или указатели будут с благодарностью.

Update1:

Я обнаружил, что естьRFE для этого в базе данных ошибок Oracle. Там также естьпатч представлен по этому вопросу сотрудником Oracle иобсуждения в списке рассылки JDK об этой функции, Не делает меня намного мудрее, кроме насколько я могу понять, что это не доступно в текущей Java 7, даже как экспериментальный. Правильно?

UPDATE2:

Вопрос сейчасснова жив в списке рассылки OpenJDK Security Dev.