acessando o Basic Negotiation eu tenho o seguinte log:
09:53:53,385 INFO [BasicNegotiationServlet] Authorization header received - decoding token.
na no browser eu visualizo as seguintes infos:
Message Oid - SPNEGO
Mech Types - {NTLM} {Kerberos V5 Legacy} {Kerberos V5} {1.3.6.1.4.1.311.2.2.30}
Req Flags -
Mech Token -TlRMTVNTUAABAAAAl7II4gcABwAxAAAACQAJACgAAAAGAbEdAAAAD1RJLTAwMDc5OEFYWElPTTE=
Mech List Mic -
agora acessando o Security Domain Test
log:
09:55:40,025 INFO [STDOUT] Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator true KeyTab is suporteldap.keytab refreshKrb5Config is false principal is suporteldap@xxEMP1.LOCAL tryFirstPass is false useFirstPass is false storePass is false clearPass is false
09:55:40,126 INFO [STDOUT] principal is suporteldap@xxEMP1.LOCAL
09:55:40,126 INFO [STDOUT] Will use keytab
09:55:40,127 INFO [STDOUT] Commit Succeeded
09:55:40,132 INFO [STDOUT] [Krb5LoginModule]: Entering logout
09:55:40,132 INFO [STDOUT] [Krb5LoginModule]: logged out Subject
na tela eu visualizo as seguintes infos:
Testing security-domain 'spnego-server'
Authenticated
Assunto:
Principal: suporteldap@xxEMP1.LOCAL
Credencial Privada: Ticket (hex) =
0000: 61 82 01 09 30 82 01 05 A0 03 02 01 05 A1 0F 1B a...0...........
0010: 0D 41 58 58 49 4F 4D 31 2E 4C 4F 43 41 4C A2 22 .xxEMP1.LOCAL."
0020: 30 20 A0 03 02 01 02 A1 19 30 17 1B 06 6B 72 62 0 .......0...krb
0030: 74 67 74 1B 0D 41 58 58 49 4F 4D 31 2E 4C 4F 43 tgt..xxEMP1.LOC
0040: 41 4C A3 81 C8 30 81 C5 A0 03 02 01 17 A1 03 02 AL...0..........
0050: 01 02 A2 81 B8 04 81 B5 C5 E9 36 02 F6 9F DB B4 ..........6.....
0060: F2 60 FD 72 D4 48 EC 6F 66 1C 18 CA D8 94 DB 78 .`.r.H.of......x
0070: ED A9 A7 48 8F 1C 13 2D 55 01 C0 71 49 93 0C 85 ...H...-U..qI...
0080: BB 37 0F 18 6E 5E F4 C6 98 A6 4C 46 7F 65 0E 16 .7..n^....LF.e..
0090: EF 56 E3 B0 58 60 46 0B 82 72 C7 F6 F3 18 FA 38 .V..X`F..r.....8
00A0: 64 03 09 C8 93 FF 4C 0F 60 3E C5 01 9C 7E 5E 7B d.....L.`>....^.
00B0: E1 1A 1B 16 2D 43 10 E3 FF 15 08 70 68 C0 84 73 ....-C.....ph..s
00C0: 9F 94 DF 1E E9 BC 11 BE AC DC 4E A8 3B 9E 3B CA ..........N.;.;.
00D0: 6B F8 43 FB ED 35 05 9A B3 00 7E 07 06 77 46 D2 k.C..5.......wF.
00E0: 18 62 B2 EF AF 24 97 34 D6 A6 1C 34 7D 75 01 8B .b...$.4...4.u..
00F0: 6B 89 50 39 5A 9A F6 36 83 A8 70 41 AD 86 8F FB k.P9Z..6..pA....
0100: DC 62 CA 99 A0 43 B5 9F 4C 87 55 2D 59 .b...C..L.U-Y
Client Principal = suporteldap@xxEMP1.LOCAL
Server Principal = krbtgt/xxEMP1.LOCAL@xxEMP1.LOCAL
Session Key = EncryptionKey: keyType=23 keyBytes (hex dump)=
0000: 73 BF 13 AA 10 7F F5 19 97 56 10 09 68 03 CD FC s........V..h...
Forwardable Ticket false
Forwarded Ticket false
Proxiable Ticket false
Proxy Ticket false
Postdated Ticket false
Renewable Ticket false
Initial Ticket false
Auth Time = Thu Apr 26 09:55:40 BRT 2012
Start Time = Thu Apr 26 09:55:40 BRT 2012
End Time = Thu Apr 26 19:55:40 BRT 2012
Renew Till = null
Client Addresses Null
Credencial Privada: suporteldap.keytab
Credencial Privada: Kerberos Principal suporteldap@xxEMP1.LOCALKey Version 2key EncryptionKey: keyType=17 keyBytes (hex dump)=
0000: 63 40 6D DB AE 9D 3C 7D 48 75 14 3C 1E 32 EE B8 c@m...<.Hu.<.2..
Credencial Privada: Kerberos Principal suporteldap@xxEMP1.LOCALKey Version 2key EncryptionKey: keyType=16 keyBytes (hex dump)=
0000: 5D BA B5 F8 E0 08 89 D6 4C BC 85 51 C7 4F 37 19 ].......L..Q.O7.
0010: 6D 58 8C F2 40 D0 6B D0 mX..@.k.
Credencial Privada: Kerberos Principal suporteldap@xxEMP1.LOCALKey Version 2key EncryptionKey: keyType=23 keyBytes (hex dump)=
0000: 1A 67 07 5C 2A 45 36 0B C3 FE 65 73 6C 73 17 DD .g.\*E6...esls..
Credencial Privada: Kerberos Principal suporteldap@xxEMP1.LOCALKey Version 2key EncryptionKey: keyType=1 keyBytes (hex dump)=
0000: 1F 4C EC 20 7A 68 76 70 .L. zhvp
Credencial Privada: Kerberos Principal suporteldap@xxEMP1.LOCALKey Version 2key EncryptionKey: keyType=3 keyBytes (hex dump)=
0000: 1F 4C EC 20 7A 68 76 70 .L. zhvp
agora acessando o secured (que é o responsável pela autenticação de fato com AD.
log:
09:58:38,174 INFO [STDOUT] Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator true KeyTab is suporteldap.keytab refreshKrb5Config is false principal is suporteldap@xxEMP1.LOCAL tryFirstPass is false useFirstPass is false storePass is false clearPass is false
09:58:38,188 INFO [STDOUT] principal is suporteldap@xxEMP1.LOCAL
09:58:38,188 INFO [STDOUT] Will use keytab
09:58:38,188 INFO [STDOUT] Commit Succeeded
09:58:38,194 INFO [STDOUT] [Krb5LoginModule]: Entering logout
09:58:38,194 INFO [STDOUT] [Krb5LoginModule]: logged out Subject
09:58:38,235 INFO [STDOUT] Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator true KeyTab is suporteldap.keytab refreshKrb5Config is false principal is suporteldap@xxEMP1.LOCAL tryFirstPass is false useFirstPass is false storePass is false clearPass is false
09:58:38,238 INFO [STDOUT] principal is suporteldap@xxEMP1.LOCAL
09:58:38,238 INFO [STDOUT] Will use keytab
09:58:38,238 INFO [STDOUT] Commit Succeeded
09:58:38,254 ERROR [SPNEGOLoginModule] Unable to authenticate
GSSException: Failure unspecified at GSS-API level (Mechanism level: Specified version of key is not available (44))
at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Unknown Source)
at sun.security.jgss.GSSContextImpl.acceptSecContext(Unknown Source)
at sun.security.jgss.GSSContextImpl.acceptSecContext(Unknown Source)
at org.jboss.security.negotiation.spnego.SPNEGOLoginModule$AcceptSecContext.run(SPNEGOLoginModule.java:319)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.jboss.security.negotiation.spnego.SPNEGOLoginModule.login(SPNEGOLoginModule.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.invoke(Unknown Source)
at javax.security.auth.login.LoginContext.access$000(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at javax.security.auth.login.LoginContext$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(Unknown Source)
at javax.security.auth.login.LoginContext.login(Unknown Source)
at org.jboss.security.plugins.auth.JaasSecurityManagerBase.defaultLogin(JaasSecurityManagerBase.java:552)
at org.jboss.security.plugins.auth.JaasSecurityManagerBase.authenticate(JaasSecurityManagerBase.java:486)
at org.jboss.security.plugins.auth.JaasSecurityManagerBase.isValid(JaasSecurityManagerBase.java:365)
at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:160)
at org.jboss.web.tomcat.security.JBossWebRealm.authenticate(JBossWebRealm.java:384)
at org.jboss.security.negotiation.NegotiationAuthenticator.authenticate(NegotiationAuthenticator.java:127)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: KrbException: Specified version of key is not available (44)
at sun.security.krb5.EncryptionKey.findKey(Unknown Source)
at sun.security.krb5.KrbApReq.authenticate(Unknown Source)
at sun.security.krb5.KrbApReq.<init>(Unknown Source)
at sun.security.jgss.krb5.InitSecContextToken.<init>(Unknown Source)
... 37 more
09:58:38,254 INFO [STDOUT] [Krb5LoginModule]: Entering logout
09:58:38,254 INFO [STDOUT] [Krb5LoginModule]: logged out Subject
na tela eu recebo um bonito 401 
Muita gente diz que isso é problema no AD, mas já chamei o cara da infra e fizemos diversas verificações, está tudo aparentemente ok.
sinceramente estou sem saber o que fazer.