Hi

WSS4JInInterceptor is already registering a custom UT processor if the
"ws-security.ut.no-callbacks" is set to true.
So the hashed UTs should be supported with your configuration, without the
need to register a callback.
Can you give me a favor and check the actual WS-Security namespace that is
used to qualify the security header ? You can add a CXF logging feature to
the list of jaxws:features

thanks, Sergey

On Thu, Feb 3, 2011 at 11:33 AM, Anand R <[email protected]> wrote:

> Thanks Sergy. I will try the custom UsernameTokenProcessor.
> Thanks and regards,
> Anand R
>
>
>
> From:   Sergey Beryozkin <[email protected]>
> To:     [email protected]
> Date:   03-02-11 04:39 PM
> Subject:        Re: Problem with AbstractUsernameTokenInInterceptor
>
>
>
> Hi
>
> What WS-Security namespace is being used in the request ?
> If the "ws-security.ut.no-callbacks" is set to true then the
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor should not be
> invoked because it does currently require a callback for hashed UTs. So if
> the property is set then the WSS4JInInterceptor registers a custom
> UsernameTokenProcessor for
>
> "
>
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
>
> "
> and
> "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd";.
>
> Thanks, Sergey
>
> On Thu, Feb 3, 2011 at 10:51 AM, Anand R <[email protected]> wrote:
>
> > Hi Sergey,
> >
> > Thanks for your response. I used to get the following exception when I
> did
> > not configure a callback handler. This exception does not come if the
> > password is plain text instead of a digest.
> >
> > org.apache.cxf.interceptor.Fault: General security error
> > (WSSecurityEngine: No password callback supplied)
> >        at
> >
> >
>
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.processUsernameToken(UsernameTokenInterceptor.java:154)
> >        at
> >
> >
>
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.handleMessage(UsernameTokenInterceptor.java:114)
> >        at
> >
> >
>
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.handleMessage(UsernameTokenInterceptor.java:72)
> >         at
> >
> >
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> >        at
> >
> >
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> >        at
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> >        at
> >
> >
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >        at
> >
> >
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >        at
> >
> >
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
> >        at
> >
> >
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> >        at
> >
> >
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> >        at
> >
> >
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> >        at
> >
> >
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >        at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
> >        at
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> >        at
> >
> >
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
> >        at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
> >        at java.lang.Thread.run(Thread.java:595)
> > Caused by: org.apache.ws.security.WSSecurityException: General security
> > error (WSSecurityEngine: No password callback supplied)
> >        at
> >
> >
>
> org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:91)
> >        at
> >
> >
>
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.getPrincipal(UsernameTokenInterceptor.java:167)
> >        at
> >
> >
>
> org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.processUsernameToken(UsernameTokenInterceptor.java:129)
> >        ... 24 more
> >
> >
> > Thanks and regards,
> > Anand R
> > System Architect
> > IBS Software Services Private Limited
> > 2nd Floor - Left Wing, IBS Towers, Technopark Campus, Trivandrum -
> 695581,
> > Kerala, India
> > Telephone - +91-471-6614291, Mobile - +91-9846324022
> > E-Mail - [email protected], www.ibsplc.com
> >
> >
> >
> >
> > From:   Sergey Beryozkin <[email protected]>
> > To:     [email protected]
> > Date:   03-02-11 04:08 PM
> > Subject:        Re: Problem with AbstractUsernameTokenInInterceptor
> >
> >
> >
> > Hi
> >
> > On Thu, Feb 3, 2011 at 6:37 AM, Anand R <[email protected]> wrote:
> >
> > > Hi,
> > >
> > > My requirement is to perform a custom authentication on the username
> and
> > > password that I receive as part of the UsernameToken header in the
> > > incoming SOAP request. I discovered that cxf-2.3.2 provides an
> > > AbstractUsernameTokenInInterceptor to perform this. I extended this
> > class
> > > and created my interceptor that overrides the createSubject method.
> When
> > I
> > > configure my interceptor in my beans.xml as shown below, I am getting
> an
> > > exception.
> > >
> > > This exception comes up when I use a password digest. The plain text
> > > password works fine. Is there any problem in the way I have configured
> > my
> > > interceptor?
> > >
> > >
> > > Entry in beans.xml
> > >
> > >        <jaxws:endpoint id="echo"
> > > implementor="learn.wssecurity.echo.EchoServiceImpl"
> > >                wsdlLocation="wsdl/echo/EchoService.wsdl"
> > > address="/EchoService">
> > >                <jaxws:inInterceptors>
> > >                          <bean
> > > class="learn.wssecurity.echo.WSSUsernameTokenInterceptor"/>
> > >                </jaxws:inInterceptors>
> > >                <jaxws:properties>
> > >                        <entry key="ws-security.callback-handler"
> > > value="learn.wssecurity.echo.ServerPasswordCallback" />
> > >                        <entry key="ws-security.ut.no-callbacks"
> > > value="true" />
> > >                </jaxws:properties>
> > >        </jaxws:endpoint>
> > >
> > >
> >
> > What is the purpose of registering ServerPasswordCallback ? If you set a
> > "ws-security.ut.no-callbacks" property then you only need a callback if
> > you
> > have an encrypted UT, so that the UT can be decrypted.
> > So this callback that you're registering may be interfering in the case
> > when
> > you have a hashed UT token, can you remove it please and see what
> happens
> > ?
> >
> > Cheers, Sergey
> >
> >
> >
> >
> > >
> > > Exception
> > >
> > > java.lang.SecurityException: Security Token is not available on the
> > > current message
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.interceptor.security.AbstractSecurityContextInInterceptor.reportSecurityException(AbstractSecurityContextInInterceptor.java:
> > > 88)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.interceptor.security.AbstractSecurityContextInInterceptor.handleMessage(AbstractSecurityContextInInterceptor.java:47)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> > >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> > >        at
> > >
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
> > >        at
> > >
> >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> > >        at
> > >
> > >
> >
> >
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
> > >        at
> > >
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
> > >        at java.lang.Thread.run(Thread.java:595)
> > >
> > > Thanks and regards,
> > > Anand R
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > DISCLAIMER:
> > >
> > > "The information in this e-mail and any attachment is intended only
> for
> > > the person to whom it is addressed and may contain confidential and/or
> > > privileged material. If you have received this e-mail in error, kindly
> > > contact the sender and destroy all copies of the original
> communication.
> > > IBS makes no warranty, express or implied, nor guarantees the
> accuracy,
> > > adequacy or completeness of the information contained in this email or
> > any
> > > attachment and is not liable for any errors, defects, omissions,
> viruses
> > > or for resultant loss or damage, if any, direct or indirect."
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> >
> >
> > DISCLAIMER:
> >
> > "The information in this e-mail and any attachment is intended only for
> > the person to whom it is addressed and may contain confidential and/or
> > privileged material. If you have received this e-mail in error, kindly
> > contact the sender and destroy all copies of the original communication.
> > IBS makes no warranty, express or implied, nor guarantees the accuracy,
> > adequacy or completeness of the information contained in this email or
> any
> > attachment and is not liable for any errors, defects, omissions, viruses
> > or for resultant loss or damage, if any, direct or indirect."
> >
> >
> >
> >
> >
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for
> the person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication.
> IBS makes no warranty, express or implied, nor guarantees the accuracy,
> adequacy or completeness of the information contained in this email or any
> attachment and is not liable for any errors, defects, omissions, viruses
> or for resultant loss or damage, if any, direct or indirect."
>
>
>
>
>

Reply via email to