Mam aplikacji pracujących z wykorzystaniem rozszerzenia kerberos sprężyną bezpieczeństwa, uruchomionych na JBoss, bieganie java 6.Kerberos złamane po uaktualnieniu z java6 do Java7
Jestem w procesie modernizacji mojego JVM z Java 6 do Java 7. kiedy to zrobić, używając tej samej codebase i taką samą keytab który pracował na Java 6, teraz pojawia się błąd przy użyciu języka Java 7.
konsekwentnie otrzymują: java.security.PrivilegedActionException: GSSException: Awaria nieokreślony na poziomie GSS-API (Poziom mechanizmu: Niepoprawny argument (400) - Nie można znaleźć klucza odpowiedniego typu do odszyfrowania punktu AP REP - RC4 z HMAC)
Próbowałem zregenerować keytab z różnymi opcjami/crypto, które zostały opisane na innych forach bezskutecznie.
Mam debugowany kod języka Java 7 i rzeczywiście, klasy, które zajmują się odczytywaniem tablicy kluczy przy starcie zmieniły się z 6 na 7. Czy to możliwe, że mój keytab nie jest już poprawnie odczytywany w aplikacji? Niektóre komunikaty debugowania, które widzę przy uruchomieniu przy użyciu Java6, nie pojawiają się już w wersji 7, ale nie mogę stwierdzić, czy jest to zgodne z projektem, czy też wskazuje, że coś innego jest w grze? Czy ktokolwiek inny miał problemy z aktualizacją od 6 do 7 i czy ich integracja z Kerberosami ich przerwała? Jakakolwiek rada?
Z SPNEGO i Kerberos debug zalogowaniu się na starcie, 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
jedno pytanie - zobaczysz to próbuje odczytać C: \ Windows \ krb5.ini. Nie mam takiego pliku na moim serwerze. Czy ja potrzebuję? Nie miałem też tego z Javą 6 i to zadziałało.
Aaron
Co krypto obsługuje twój keytab? To musi być problem. Wymienione etapy są obsługiwane przez JGSS, ale twój keytab wymaga od ArcFour odpowiedzi na AS. –
Pytasz, co/Crypto użyłem podczas generowania mojego keytab? Jeśli takie jest pytanie, to wypróbowałem dużą ich liczbę - określając konkretnie RC4-HMAC, a także używając opcji ALL. Nie jestem pewien, o to pytasz, prawda? –
Tak, to jest dokładnie moje pytanie. czy włączyłeś '-Dsun.security.krb5.debug = true', aby zobaczyć dane wyjściowe debugowania Kerberos? –