SPNEGO mit Tomcat-Fehler: GSSException: unbekannter Fehler bei der GSS-API-Ebene (Mechanismus, Pegel: Checksum failed)
Ich versuche zu implementieren ist ein browser-basiertes single-sign-on mit SPNEGO mit Tomcat.
Ich habe alle Anweisungen befolgt, die auf diesen beiden Seiten:
Als ich aufgerufen hello_spnego.jsp von Firefox oder Chrome, ich wurde gebeten, Benutzernamen und Passwort, und dann zeigte Sie mir meinen Benutzernamen perfekt; funktioniert wie ein Charme. Allerdings, wenn ich den Zugriff versucht es mit dem IE bin ich ständig diese Fehlermeldung:
HTTP Status 500 - GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
type Exception report
message GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
Beim Versuch, eine Lösung zu suchen, stieß ich auf diese Seite: http://www.oracle.com/technetwork/articles/idm/weblogic-sso-kerberos-1619890.html
Folgte ich der Client-Konfigurations-Anweisungen in der zweiten Hälfte der Seite. Nachdem, dass alle drei Browser (Chrome, Firefox und IE) zeigen die gleiche Fehlermeldung, aber keiner von Ihnen fragt nach Benutzernamen und Passwort mehr.
Ich habe verifiziert, das Konto verwendet, um reden an das KDC ordnungsgemäß funktioniert. Auch habe ich den Benutzernamen und das Passwort angegeben in der web.xml Datei, so dass ich don ' T haben eine separate Datei KeyTab.
Für Diagnose-Zwecke, hier der Inhalt meiner krb5.conf und login.conf-Dateien:
krb5.conf
[libdefaults]
default_realm = DEVID.LOCAL
default_tkt_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5
default_tgs_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5
permitted_enctypes = aes256-cts aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc arcfour-hmac arcfour-hmac-md5
[realms]
DEVID.LOCAL = {
kdc = cdi-prod.devid.local
default_domain = DEVID.LOCAL
}
[domain_realm]
.DEVID.LOCAL = DEVID.LOCAL
login.conf
spnego-client {
com.sun.security.auth.module.Krb5LoginModule required;
};
spnego-server {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
isInitiator=false;
};
Da ich nicht über eine keytab-Datei, es ist nicht erwähnt in der Anmeldung.conf-Datei.
Auch, da bin ich mit aes256-cts-Verschlüsselung, ich habe die erforderlichen JCE Policy files (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html) in der jre/lib/security
Ordner des jdk.
Zur info, ich bin mit Tomcat 8 und JDK 1.8.
Ich würde wirklich zu schätzen einige Einblicke auf das, was hier passiert. Wenn Sie weitere Informationen benötigen, lassen Sie es mich bitte wissen. Vielen Dank im Voraus!
InformationsquelleAutor Deb Dey | 2014-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kerberos, SPNEGO-Prüfsumme fehlgeschlagen problem
Quelle klicken Sie auf
Machte ich die SPNEGO-Authentifizierung für meine web-apps. Während der Entwicklung traf ich mich mit einem problem, das die Authentifizierung von Benutzern mithilfe keytab-Datei für HTTP-Dienste:
Verursacht durch: org.ietf.jgss.GSSException: unbekannter Fehler bei der GSS-API-Ebene (Mechanismus, Pegel: Checksum failed)
Ich habe die Lösung gefunden, wie man das problem lösen kann. Ich habe benutzt RHEL 7 auf den Servern und-clients, und FreeIPA als ein KDC/LDAP-server:
Öffnen Sie /etc/krb5.conf auf web-app-server, und fügen Sie in den Abschnitt [libdefaults] einer Zeile
[libdefaults]
default_tkt_enctypes = arcfour-hmac-md5 -
Dies ist die wichtigste Sache. Diese Zeile löst "Checksum failed" problem
kinit Benutzername
Passwort für [email protected]:
nach erfolgreicher Authentifizierung in Kerberos-Domäne können wir auf Kerberisierten web-apps mit curl:
curl -v -k --verhandeln -u : --cacert /etc/ipa/ca.crt https://myservice.com:8090/krb
Netzwerk.negotiate-auth.delegation-uris Wert http://,https://
Netzwerk.negotiate-auth.trusted-uris Wert .myservice.com
InformationsquelleAutor mike
Ich hatte das gleiche Problem, und fand die Antwort in dieser Beitrag:
revert alle änderungen, die Sie gemacht, nachdem Sie die oracle-Artikel, bevor Sie versuchen diese.
InformationsquelleAutor Stoinov
Habe ich geschrieben eine Antwort auf eine ähnliche Frage hier.
Meinem Fall nicht GSSAPI+HTTP, aber ich nehme an, dass SPNEGO verwendet die gleichen Mechanismen hinter den kulissen.
InformationsquelleAutor Fabiano Tarlao