This fails at the signature validation.. Are you using the exact version [1.5.5] of Apache DS as in the link or 1.5.7?
Thanks & regards, -Prabath On Mon, Oct 31, 2011 at 3:22 AM, Amila Suriarachchi <am...@wso2.com> wrote: > hi, > > I did the following to authenticate a client who's details are stored in > Apache ds to WSO2 AS using kerberos. > > 1. First I configured the Apache DS kdc server for (1.5.5) as given here[1]. > Then I could login to Apache DS server using Apache directory studio using > kerberos. So that should be working fine. > > 2. I started configuring the WSO2 AS 4.0.0. First put the attached files to > the repository/conf. Then use the security senario 16 in the wizard to > configure the kerberos. Here I put SPN as ldap/localh...@example.com and > password as randall (please see the given ldif file in the kerberos guide). > Then it generated the policy but when I looked into it password was not > there. > > 3. Finally started the client part following the sample given here[2]. Full > client has been attached. I put the repository/lib +xalan 2.7.1 jar to the > class path. > > After running the client it sends the message to the server. This can be > seen from the tcp mon. But at the server it gives the following exception. I > put the password and edited the server side policy like this as well. > > <rampart:kerberosConfig> > <rampart:property > name="service.principal.name">ldap/localh...@example.com</rampart:property> > <rampart:property > name="service.principal.password">randall</rampart:property> > </rampart:kerberosConfig> > > GSSException: Failure unspecified at GSS-API level (Mechanism level: > Integrity check on decrypted field failed (31)) > at > sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:741) > at > sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:323) > at > sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) > at > org.apache.ws.security.processor.KerberosTokenProcessor$1.run(KerberosTokenProcessor.java:475) > at > org.apache.ws.security.processor.KerberosTokenProcessor$1.run(KerberosTokenProcessor.java:468) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:337) > at > org.apache.ws.security.processor.KerberosTokenProcessor.acceptSecurityContext(KerberosTokenProcessor.java:468) > at > org.apache.ws.security.processor.KerberosTokenProcessor.verifyXMLSignature(KerberosTokenProcessor.java:296) > at > org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:292) > at > org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:120) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:332) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249) > at org.apache.rampart.RampartEngine.process(RampartEngine.java:161) > at > org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92) > at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) > at org.apache.axis2.engine.Phase.invoke(Phase.java:313) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:155) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:241) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) > at > org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) > at > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: KrbException: Integrity check on decrypted field failed (31) > at > sun.security.krb5.internal.crypto.DesCbcEType.decrypt(DesCbcEType.java:154) > at > sun.security.krb5.internal.crypto.DesCbcMd5EType.decrypt(DesCbcMd5EType.java:33) > at > sun.security.krb5.internal.crypto.DesCbcEType.decrypt(DesCbcEType.java:125) > at > sun.security.krb5.internal.crypto.DesCbcMd5EType.decrypt(DesCbcMd5EType.java:33) > at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:168) > at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:267) > at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:134) > at > sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:79) > at > sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:724) > ... 46 more > [2011-10-30 17:48:54,993] ERROR > {org.apache.ws.security.processor.KerberosTokenProcessor} - Integrity check > on decrypted field failed (31) > KrbException: Integrity check on decrypted field failed (31) > at > sun.security.krb5.internal.crypto.DesCbcEType.decrypt(DesCbcEType.java:154) > at > sun.security.krb5.internal.crypto.DesCbcMd5EType.decrypt(DesCbcMd5EType.java:33) > at > sun.security.krb5.internal.crypto.DesCbcEType.decrypt(DesCbcEType.java:125) > at > sun.security.krb5.internal.crypto.DesCbcMd5EType.decrypt(DesCbcMd5EType.java:33) > at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:168) > at > org.apache.ws.security.kerberos.KrbTicketDecoder.decryptTicket(KrbTicketDecoder.java:99) > at > org.apache.ws.security.kerberos.KrbTicketDecoder.parseApReq(KrbTicketDecoder.java:90) > at > org.apache.ws.security.kerberos.KrbTicketDecoder.parseServiceTicket(KrbTicketDecoder.java:67) > at > org.apache.ws.security.kerberos.KrbTicketDecoder.getSessionKey(KrbTicketDecoder.java:50) > at > org.apache.ws.security.processor.KerberosTokenProcessor.getSessionKey(KerberosTokenProcessor.java:493) > at > org.apache.ws.security.processor.KerberosTokenProcessor.verifyXMLSignature(KerberosTokenProcessor.java:297) > at > org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:292) > at > org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:120) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:332) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249) > at org.apache.rampart.RampartEngine.process(RampartEngine.java:161) > at > org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92) > at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) > at org.apache.axis2.engine.Phase.invoke(Phase.java:313) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:155) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:241) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) > at > org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) > at > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > [2011-10-30 17:48:54,995] ERROR {org.apache.axis2.engine.AxisEngine} - An > error was discovered processing the <wsse:Security> header (Failed to create > the security token) > org.apache.axis2.AxisFault: An error was discovered processing the > <wsse:Security> header (Failed to create the security token) > at > org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:186) > at > org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:95) > at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) > at org.apache.axis2.engine.Phase.invoke(Phase.java:313) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) > at > org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) > at > org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) > at > org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:155) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > at org.wso2.carbon.server.TomcatServer$1.invoke(TomcatServer.java:241) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) > at > org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:396) > at > org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:356) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1534) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.apache.ws.security.WSSecurityException: An error was > discovered processing the <wsse:Security> header (Failed to create the > security token) > at > org.apache.ws.security.processor.KerberosTokenProcessor.verifyXMLSignature(KerberosTokenProcessor.java:341) > at > org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:292) > at > org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:120) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:332) > at > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249) > at org.apache.rampart.RampartEngine.process(RampartEngine.java:161) > at > org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92) > ... 32 more > > What could be the issue? > > thanks, > Amila. > > [1] https://cwiki.apache.org/DIRxSRVx11/543-kerberos-in-apacheds-155.html > [2] http://cache.facilelogin.com/org.wso2.identity.esb.kerberos.zip > > _______________________________________________ > Carbon-dev mailing list > Carbon-dev@wso2.org > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > -- Thanks & Regards, Prabath http://blog.facilelogin.com http://RampartFAQ.com _______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev