Kerberos uszkodzony po aktualizacji z Java6 do Java7
Mam działającą aplikację korzystającą z rozszerzenia kerberos z zabezpieczeniami sprężynowymi, działającego na jboss, z uruchomioną wersją java 6.
Jestem w trakcie aktualizacji mojego jvm z java 6 do java 7. Kiedy to zrobię, używając tej samej bazy kodu i tego samego keytabu, który działał w java 6, otrzymuję teraz błąd podczas używania Java 7.
Konsekwentnie otrzymuję: java.security.PrivilegedActionException: GSSException: Błąd nieokreślony na poziomie GSS-API (poziom mechanizmu: Invalid argument (400) - Nie można znaleźć klucza odpowiedniego typu w celu odszyfrowania AP REP - RC4 z HMAC)
Próbowałem zregenerować keytab z różnymi opcjami / kryptograficznymi opisanymi na innych forach bezskutecznie.
Debugowałem kod java 7 i rzeczywiście klasy, które zajmują się czytaniem tablicy kluczy przy starcie, zmieniły się z 6 na 7. Czy to możliwe, że moja klawiatura nie jest już poprawnie odczytywana w aplikacji? Niektóre komunikaty debugowania, które widzę podczas uruchamiania przy użyciu Java6, nie pojawiają się już w 7, ale nie mogę stwierdzić, czy jest to zgodne z projektem, czy też wskazuje, że coś innego jest w grze? Czy ktoś inny miał problemy z aktualizacją z 6 na 7 i czy ich integracja z kerberosem została przerwana? Jakakolwiek rada?
W przypadku logowania do debugowania spnego i kerberos mój dziennik pokazuje:
2012-12-10 10:29:30,886 Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator false KeyTab is jndi:/localhost/docfinity/WEB-INF/classes/config/common/security/http-docfinity.keytab refreshKrb5Config is false principal is HTTP/[email protected] tryFirstPass is false useFirstPass is false storePass is false clearPass is false
2012-12-10 10:30:26,322 principal is HTTP/[email protected]
2012-12-10 10:30:29,794 Will use keytab
2012-12-10 10:30:29,807 Ordering keys wrt default_tkt_enctypes list
2012-12-10 10:30:29,821 Config name: C:\Windows\krb5.ini
2012-12-10 10:30:29,827 Using builtin default etypes for default_tkt_enctypes
2012-12-10 10:30:29,832 default etypes for default_tkt_enctypes:
2012-12-10 10:30:29,837 17 aes128-cts-hmac-sha1-96
2012-12-10 10:30:29,839 16 des3-cbc-sha1-kd
2012-12-10 10:30:29,842 23 rc4-hmac
2012-12-10 10:30:29,846 1 des-cbc-crc
2012-12-10 10:30:29,849 3 des-cbc-md5
2012-12-10 10:30:29,851 .
2012-12-10 10:30:29,855 Commit Succeeded
Jeszcze jedno pytanie - zobaczysz, że próbuje odczytać C: Windows kr5.ini. Nie mam takiego pliku na moim serwerze. Czy potrzebuję? Ja też nie miałem takiego z java 6 i to działało.
aaron