Hello, My full story with FreeIPA and jboss negotiation could be found on my blog: ellis2323.blogspot.com
To do short: - i have installed to VM with Fedora Core 10 - i have installed FreeIPA on the first - i have installed a server on the second Kerberos is working. I can use ssh without prompting ssh!!! My goal: build a webservice to browse a filesystem. I have already done it with python with "root" access. Now i want use impersonation with JAAS and Delegation with Kerberos to use the SSH service to access a filesystem. Now i have installed jboss and jboss-negotiation-toolkit.war (2.0.3GA). But i can't have the third test working. I have search during 3 days but no idea. The message is a checksum error : | 2:20:21,919 INFO [BasicNegotiationServlet] No Authorization Header, sending 401 | 02:20:22,027 INFO [BasicNegotiationServlet] Authorization header received - decoding token. | 02:20:37,558 INFO [STDOUT] Debug is true storeKey true useTicketCache false useKeyTab true doNotPrompt true ticketCache is null isInitiator true KeyTab is /usr/java/jboss/server/default/conf/test.keytab refreshKrb5Config is false principal is host/[email protected] tryFirstPass is false useFirstPass is false storePass is false clearPass is false | 02:20:37,582 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,583 INFO [STDOUT] >>> KeyTabInputStream, readName(): HTTP | 02:20:37,583 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,585 INFO [STDOUT] >>> KeyTab: load() entry length: 87; type: 18 | 02:20:37,585 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,586 INFO [STDOUT] >>> KeyTabInputStream, readName(): HTTP | 02:20:37,586 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,586 INFO [STDOUT] >>> KeyTab: load() entry length: 71; type: 17 | 02:20:37,587 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,588 INFO [STDOUT] >>> KeyTabInputStream, readName(): HTTP | 02:20:37,588 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,588 INFO [STDOUT] >>> KeyTab: load() entry length: 79; type: 16 | 02:20:37,589 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,589 INFO [STDOUT] >>> KeyTabInputStream, readName(): HTTP | 02:20:37,589 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,590 INFO [STDOUT] >>> KeyTab: load() entry length: 71; type: 23 | 02:20:37,590 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,590 INFO [STDOUT] >>> KeyTabInputStream, readName(): HTTP | 02:20:37,590 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,591 INFO [STDOUT] >>> KeyTab: load() entry length: 63; type: 1 | 02:20:37,591 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,591 INFO [STDOUT] >>> KeyTabInputStream, readName(): host | 02:20:37,591 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,593 INFO [STDOUT] >>> KeyTab: load() entry length: 87; type: 18 | 02:20:37,593 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,605 INFO [STDOUT] >>> KeyTabInputStream, readName(): host | 02:20:37,605 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,606 INFO [STDOUT] >>> KeyTab: load() entry length: 71; type: 17 | 02:20:37,607 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,607 INFO [STDOUT] >>> KeyTabInputStream, readName(): host | 02:20:37,608 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,609 INFO [STDOUT] >>> KeyTab: load() entry length: 79; type: 16 | 02:20:37,609 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,611 INFO [STDOUT] >>> KeyTabInputStream, readName(): host | 02:20:37,611 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,611 INFO [STDOUT] >>> KeyTab: load() entry length: 71; type: 23 | 02:20:37,612 INFO [STDOUT] >>> KeyTabInputStream, readName(): SCIGEMS.ORG | 02:20:37,612 INFO [STDOUT] >>> KeyTabInputStream, readName(): host | 02:20:37,613 INFO [STDOUT] >>> KeyTabInputStream, readName(): server1.scigems.org | 02:20:37,613 INFO [STDOUT] >>> KeyTab: load() entry length: 63; type: 1 | 02:20:37,621 INFO [STDOUT] Added key: 1version: 10 | 02:20:37,623 INFO [STDOUT] Added key: 23version: 10 | 02:20:37,623 INFO [STDOUT] Added key: 16version: 10 | 02:20:37,623 INFO [STDOUT] Added key: 17version: 10 | 02:20:37,624 INFO [STDOUT] Added key: 18version: 10 | 02:20:37,624 INFO [STDOUT] Ordering keys wrt default_tkt_enctypes list | 02:20:37,630 INFO [STDOUT] Using builtin default etypes for default_tkt_enctypes | 02:20:37,631 INFO [STDOUT] default etypes for default_tkt_enctypes: | 02:20:37,631 INFO [STDOUT] 3 | 02:20:37,631 INFO [STDOUT] 1 | 02:20:37,632 INFO [STDOUT] 23 | 02:20:37,632 INFO [STDOUT] 16 | 02:20:37,632 INFO [STDOUT] 17 | 02:20:37,633 INFO [STDOUT] 18 | 02:20:37,633 INFO [STDOUT] . | 02:20:37,634 INFO [STDOUT] principal's key obtained from the keytab | 02:20:37,635 INFO [STDOUT] Acquire TGT using AS Exchange | 02:20:37,643 INFO [STDOUT] Using builtin default etypes for default_tkt_enctypes | 02:20:37,645 INFO [STDOUT] default etypes for default_tkt_enctypes: | 02:20:37,646 INFO [STDOUT] 3 | 02:20:37,646 INFO [STDOUT] 1 | 02:20:37,647 INFO [STDOUT] 23 | 02:20:37,648 INFO [STDOUT] 16 | 02:20:37,648 INFO [STDOUT] 17 | 02:20:37,649 INFO [STDOUT] 18 | 02:20:37,650 INFO [STDOUT] . | 02:20:37,650 INFO [STDOUT] >>> KrbAsReq calling createMessage | 02:20:37,650 INFO [STDOUT] >>> KrbAsReq in createMessage | 02:20:37,664 INFO [STDOUT] >>> KrbKdcReq send: kdc=ks.scigems.org UDP:88, timeout=30000, number of retries =3, #bytes=169 | 02:20:37,741 INFO [STDOUT] >>> KDCCommunication: kdc=ks.scigems.org UDP:88, timeout=30000,Attempt =1, #bytes=169 | 02:20:37,753 INFO [STDOUT] >>> KrbKdcReq send: #bytes read=274 | 02:20:37,754 INFO [STDOUT] >>> KrbKdcReq send: #bytes read=274 | 02:20:37,755 INFO [STDOUT] >>> KDCRep: init() encoding tag is 126 req type is 11 | 02:20:37,759 INFO [STDOUT] >>>KRBError: | 02:20:37,760 INFO [STDOUT] cTime is Sun Sep 05 03:53:02 CEST 1976 210736382000 | 02:20:37,760 INFO [STDOUT] sTime is Sun Mar 01 02:20:37 CET 2009 1235870437000 | 02:20:37,760 INFO [STDOUT] suSec is 902837 | 02:20:37,761 INFO [STDOUT] error code is 25 | 02:20:37,763 INFO [STDOUT] error Message is Additional pre-authentication required | 02:20:37,763 INFO [STDOUT] crealm is SCIGEMS.ORG | 02:20:37,764 INFO [STDOUT] cname is host/server1.scigems.org | 02:20:37,764 INFO [STDOUT] realm is SCIGEMS.ORG | 02:20:37,765 INFO [STDOUT] sname is krbtgt/SCIGEMS.ORG | 02:20:37,765 INFO [STDOUT] eData provided. | 02:20:37,765 INFO [STDOUT] msgType is 30 | 02:20:37,767 INFO [STDOUT] >>>Pre-Authentication Data: | 02:20:37,767 INFO [STDOUT] PA-DATA type = 2 | 02:20:37,767 INFO [STDOUT] PA-ENC-TIMESTAMP | 02:20:37,769 INFO [STDOUT] >>>Pre-Authentication Data: | 02:20:37,769 INFO [STDOUT] PA-DATA type = 19 | 02:20:37,770 INFO [STDOUT] PA-ETYPE-INFO2 etype = 18 | 02:20:37,770 INFO [STDOUT] >>>Pre-Authentication Data: | 02:20:37,771 INFO [STDOUT] PA-DATA type = 13 | 02:20:37,771 INFO [STDOUT] KRBError received: NEEDED_PREAUTH | 02:20:37,772 INFO [STDOUT] AcquireTGT: PREAUTH FAILED/REQUIRED, re-send AS-REQ | 02:20:37,772 INFO [STDOUT] >>>KrbAsReq salt is SCIGEMS.ORGhostserver1.scigems.org | 02:20:37,772 INFO [STDOUT] Pre-Authenticaton: find key for etype = 18 | 02:20:37,774 INFO [STDOUT] AS-REQ: Add PA_ENC_TIMESTAMP now | 02:20:37,775 INFO [STDOUT] >>> EType: sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType | 02:20:38,016 INFO [STDOUT] >>> KrbAsReq calling createMessage | 02:20:38,017 INFO [STDOUT] >>> KrbAsReq in createMessage | 02:20:38,017 INFO [STDOUT] >>> KrbKdcReq send: kdc=ks.scigems.org UDP:88, timeout=30000, number of retries =3, #bytes=241 | 02:20:38,018 INFO [STDOUT] >>> KDCCommunication: kdc=ks.scigems.org UDP:88, timeout=30000,Attempt =1, #bytes=241 | 02:20:38,027 INFO [STDOUT] >>> KrbKdcReq send: #bytes read=609 | 02:20:38,029 INFO [STDOUT] >>> KrbKdcReq send: #bytes read=609 | 02:20:38,031 INFO [STDOUT] >>> EType: sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType | 02:20:38,035 INFO [STDOUT] >>> KrbAsRep cons in KrbAsReq.getReply host/server1.scigems.org | 02:20:38,072 INFO [STDOUT] principal is host/[email protected] | 02:20:38,073 INFO [STDOUT] EncryptionKey: keyType=1 keyBytes (hex dump)=0000: 16 EA 98 02 F2 C4 51 9E | 02:20:38,074 INFO [STDOUT] EncryptionKey: keyType=23 keyBytes (hex dump)=0000: EE CF CF 55 CD 38 50 00 3E 4E 6A 7A E5 44 24 96 ...U.8P.>Njz.D$. | 02:20:38,075 INFO [STDOUT] EncryptionKey: keyType=16 keyBytes (hex dump)=0000: 68 A7 70 31 31 01 45 3D AB 08 83 F2 20 67 EA 15 h.p11.E=.... g.. | 0010: 64 FB EF 1A 97 45 4A B0 | 02:20:38,075 INFO [STDOUT] EncryptionKey: keyType=17 keyBytes (hex dump)=0000: D8 C3 7C 67 C3 C7 60 60 56 43 31 96 67 3E 4A 53 ...g..``VC1.g>JS | 02:20:38,076 INFO [STDOUT] EncryptionKey: keyType=18 keyBytes (hex dump)=0000: 7C 7F 21 2C E9 3C 08 E7 8A 8B 36 F3 44 D6 2C 1A ..!,.<....6.D.,. | 0010: 96 16 75 46 62 04 60 22 C8 33 3E CD 15 6C 3E D7 ..uFb.`".3>..l>. | 02:20:38,115 INFO [STDOUT] Added server's keyKerberos Principal host/[email protected] Version 10key EncryptionKey: keyType=1 keyBytes (hex dump)= | 0000: 16 EA 98 02 F2 C4 51 9E | 02:20:38,122 INFO [STDOUT] [Krb5LoginModule] added Krb5Principal host/[email protected] to Subject | 02:20:38,123 INFO [STDOUT] Added server's keyKerberos Principal host/[email protected] Version 10key EncryptionKey: keyType=23 keyBytes (hex dump)= | 0000: EE CF CF 55 CD 38 50 00 3E 4E 6A 7A E5 44 24 96 ...U.8P.>Njz.D$. | 02:20:38,125 INFO [STDOUT] [Krb5LoginModule] added Krb5Principal host/[email protected] to Subject | 02:20:38,126 INFO [STDOUT] Added server's keyKerberos Principal host/[email protected] Version 10key EncryptionKey: keyType=16 keyBytes (hex dump)= | 0000: 68 A7 70 31 31 01 45 3D AB 08 83 F2 20 67 EA 15 h.p11.E=.... g.. | 0010: 64 FB EF 1A 97 45 4A B0 | 02:20:38,126 INFO [STDOUT] [Krb5LoginModule] added Krb5Principal host/[email protected] to Subject | 02:20:38,127 INFO [STDOUT] Added server's keyKerberos Principal host/[email protected] Version 10key EncryptionKey: keyType=17 keyBytes (hex dump)= | 0000: D8 C3 7C 67 C3 C7 60 60 56 43 31 96 67 3E 4A 53 ...g..``VC1.g>JS | 02:20:38,127 INFO [STDOUT] [Krb5LoginModule] added Krb5Principal host/[email protected] to Subject | 02:20:38,129 INFO [STDOUT] Added server's keyKerberos Principal host/[email protected] Version 10key EncryptionKey: keyType=18 keyBytes (hex dump)= | 0000: 7C 7F 21 2C E9 3C 08 E7 8A 8B 36 F3 44 D6 2C 1A ..!,.<....6.D.,. | 0010: 96 16 75 46 62 04 60 22 C8 33 3E CD 15 6C 3E D7 ..uFb.`".3>..l>. | 02:20:38,135 INFO [STDOUT] [Krb5LoginModule] added Krb5Principal host/[email protected] to Subject | 02:20:38,136 INFO [STDOUT] Commit Succeeded | 02:20:38,263 INFO [STDOUT] Found key for host/[email protected](18) | 02:20:38,264 INFO [STDOUT] Found key for host/[email protected](1) | 02:20:38,264 INFO [STDOUT] Found key for host/[email protected](23) | 02:20:38,264 INFO [STDOUT] Found key for host/[email protected](16) | 02:20:38,265 INFO [STDOUT] Found key for host/[email protected](17) | 02:20:38,296 INFO [STDOUT] Entered Krb5Context.acceptSecContext with state=STATE_NEW | 02:20:38,301 INFO [STDOUT] >>> EType: sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType | 02:20:38,306 ERROR [STDERR] Checksum failed ! | 02:20:38,311 ERROR [SPNEGOLoginModule] Unable to authenticate | GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) | at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:757) | at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:341) | at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285) | at org.jboss.security.negotiation.spnego.SPNEGOLoginModule$AcceptSecContext.run(SPNEGOLoginModule.java:294) | at java.security.AccessController.doPrivileged(Native Method) | at javax.security.auth.Subject.doAs(Subject.java:357) | at org.jboss.security.negotiation.spnego.SPNEGOLoginModule.login(SPNEGOLoginModule.java:118) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | at java.lang.reflect.Method.invoke(Method.java:616) | at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784) | at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203) | at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698) | at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696) | at java.security.AccessController.doPrivileged(Native Method) | at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695) | at javax.security.auth.login.LoginContext.login(LoginContext.java:594) | 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:828) | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601) | at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) | at java.lang.Thread.run(Thread.java:636) | Caused by: KrbException: Checksum failed | at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:102) | at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:94) | at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:176) | at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:278) | at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:145) | at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:103) | at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:740) | ... 36 more | Caused by: java.security.GeneralSecurityException: Checksum failed | at sun.security.krb5.internal.crypto.dk.AesDkCrypto.decryptCTS(AesDkCrypto.java:446) | at sun.security.krb5.internal.crypto.dk.AesDkCrypto.decrypt(AesDkCrypto.java:269) | at sun.security.krb5.internal.crypto.Aes256.decrypt(Aes256.java:76) | at sun.security.krb5.internal.crypto.Aes256CtsHmacSha1EType.decrypt(Aes256CtsHmacSha1EType.java:100) | ... 42 more | 02:20:38,316 INFO [STDOUT] [Krb5LoginModule]: Entering logout | 02:20:38,317 INFO [STDOUT] [Krb5LoginModule]: logged out Subject | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4213977#4213977 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4213977 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
