Hi all,
I'm sending a signed request to the server who verify it and send back to
Client the response also signed ... The probleme is that the Client can't
verify the server's signature !
Help plz on this issue ! is it a Bug ! must i upgrade to CXF ?

------------------------------------ Incoming logs
------------------------------------------
26 mars 2009 12:16:19 org.apache.xml.security.signature.Reference verify
INFO: Verification successful for URI "#id-28487985"
26 mars 2009 12:16:19 org.apache.xml.security.signature.Reference verify
INFO: Verification successful for URI "#SigConf-26261292"
26 mars 2009 12:16:19 org.codehaus.xfire.security.wss4j.WSS4JInHandler
invoke
GRAVE: org.apache.ws.security.WSSecurityException: The signature or
decryption was invalid
26 mars 2009 12:16:19 org.codehaus.xfire.util.LoggingHandler invoke
GRAVE: DOM Document was not found so the message could not be logged. Please
add DOMInHandler/DOMOutHandler to your flow!
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could
not invoke service.. Nested exception is
org.codehaus.xfire.fault.XFireFault: WSS4JInHandler: security processing
failed
org.codehaus.xfire.fault.XFireFault: WSS4JInHandler: security processing
failed
    at
org.codehaus.xfire.security.wss4j.WSS4JInHandler.invoke(WSS4JInHandler.java:145)
    at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Client.onReceive(Client.java:406)
    at
org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:139)
    at
org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
    at
org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
    at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
    at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
    at org.codehaus.xfire.client.Client.invoke(Client.java:336)
    at
org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
    at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
    at $Proxy6.sayHello(Unknown Source)
    at org.hello.client.HelloClient.executeClient(HelloClient.java:115)
    at org.hello.client.HelloClient.main(HelloClient.java:122)
Caused by: org.apache.ws.security.WSSecurityException: The signature or
decryption was invalid
    at
org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:515)
    at
org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:97)
    at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:326)
    at
org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:243)
    at
org.codehaus.xfire.security.wss4j.WSS4JInHandler.invoke(WSS4JInHandler.java:139)
---------------------------------------------------------------------------------------------------------------
---------------------services.xml--------------------------
    <inHandlers>
      <handler handlerClass="org.codehaus.xfire.util.dom.DOMInHandler" />
      <bean class="org.codehaus.xfire.security.wss4j.WSS4JInHandler"
xmlns="">
        <property name="properties">
          <props>
            <prop key="action">Signature</prop>
            <prop
key="signaturePropFile">META-INF/xfire/insecurity_sign.properties</prop>
            <prop
key="passwordCallbackClass">org.hello.PasswordHandler</prop>
          </props>
        </property>
      </bean>
    </inHandlers>

         <outHandlers>
      <handler handlerClass="org.codehaus.xfire.util.dom.DOMOutHandler" />
      <bean class="org.codehaus.xfire.security.wss4j.WSS4JOutHandler"
xmlns="">
        <property name="properties">
          <props>
            <prop key="action">Signature</prop>
            <prop key="user">serveralias</prop>
            <prop
key="signaturePropFile">META-INF/xfire/outsecurity_sign.properties</prop>
            <prop
key="passwordCallbackClass">org.hello.PasswordHandler</prop>
          </props>
        </property>
      </bean>
    </outHandlers>
------------------------------------------------
---------------insecurity_sign.properties----------------------
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=keystorePass
org.apache.ws.security.crypto.merlin.alias.password=aliaspass
org.apache.ws.security.crypto.merlin.keystore.alias=serveralias
org.apache.ws.security.crypto.merlin.file=META-INF/xfire/serverStore.jks
--------------------------------------------
-----------------------outsecurity_sign.properties-------------------------
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keystore.type=jks
org.apache.ws.security.crypto.merlin.keystore.password=keystorePass
org.apache.ws.security.crypto.merlin.alias.password=aliaspass
org.apache.ws.security.crypto.merlin.keystore.alias=serveralias
org.apache.ws.security.crypto.merlin.file=META-INF/xfire/serverStore.jks
--------------------------------------------------
-----------------------------client out conf---------------
    protected void configureOutProperties(Properties properties)
    {


properties.setProperty(WSHandlerConstants.ACTION,WSHandlerConstants.SIGNATURE
);

        properties.setProperty(WSHandlerConstants.USER, "client-344-839");

        properties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,
org.hello.PasswordHandler.class.getName());



properties.setProperty(WSHandlerConstants.SIG_PROP_FILE,"org/hello/client/outsecurity_sign.properties");

properties.setProperty(WSHandlerConstants.SIG_KEY_ID,"DirectReference");


    }
----------------client in conf ------------------
    private void configureInProperties(Properties inProperties)
    {

inProperties.setProperty(WSHandlerConstants.ACTION,WSHandlerConstants.SIGNATURE
);

        inProperties.setProperty(WSHandlerConstants.USER, "serveralias");

        inProperties.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,
org.hello.PasswordHandler.class.getName());


inProperties.setProperty(WSHandlerConstants.SIG_PROP_FILE,"org/hello/client/insecurity_sign.properties");

inProperties.setProperty(WSHandlerConstants.SIG_KEY_ID,"DirectReference");


    }
***********************************************************************
what's wrong here ??

Reply via email to