You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Hans-Bernhard Friedrich <H....@levigo.de> on 2010/02/15 19:17:47 UTC

Receive WSSecurityException (The signature verification failed)

Hi,

I work on a webservice client and I always receive the same error when I 
try to make a request to our clients webservice. 

"org.apache.ws.security.WSSecurityException (The signature verification 
failed)"

- Our client's webservice is axis-based, more I don't know

- I use rampart 1.3 and Axis2 1.4.1, EclipseEE
- I generated the customers WSDLs with axis2 1.4.1 in EclipseEE
- I received certificates of our customer and imported them to a keystore
- I set up the the security using outflow configuration. I know it's 
deprecated but it seemed easier to me than using a policy.xml. 
- I also set up a client using a policy.xml signing the body but reveice 
the same error. I will change to policy in the next step.

- I read all I could find on the web and in mailinglists but nothing 
helped:
- XML is UTF-B
- JVM argument "language=EN" didn't help
- Mixing different Axis2 and rampart versions didn't help
- Changing xmlsec1.4.0. jar to  1.4.1 or 1.4.2 didn't help
- The certs are have not expired
- Eclipse' Workspace encoding is UTF-8

Question:
- Does the exception really mean the SOAP-Envelope has been changed after 
is was singed? Are there any other reasons this exception could be thrown?

- What is about the "Pretty Printing" of the XML issue I've found on the 
mailing list. This this really solved in axis2 1.4.1?
- Is there a way to set up namespace optimation and pretty printing 
manually in axis2 like in axis 1?
- Could somethig else be wrong with the certificates?

The thing is when I use the a modified sample using a policy.xml I get the 
same Exception

- Is there anything I could tell our client to changed what could help me?

What did I do special:
- Wrote a little handler to avoid "mustunderstand"-Problem in the 
response: I Set all headers in the response to processed. The error also 
occurs if I don't engage my handler

Here is my Security setup using outflowConfiguration:

...options.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, 
getOutflowConfiguration());
...
private  Parameter getOutflowConfiguration() {
        OutflowConfiguration ofc = new OutflowConfiguration();
        ofc.setActionItems("Timestamp Signature");
        ofc.setSignatureParts("{Element}{
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
}Timestamp");
        ofc.setUser("fcms-aci");
        ofc.setPasswordCallbackClass("de.aci.handler.PWCBHandler");
        ofc.setSignaturePropRefId("cyrpto_props"); 
        ofc.setSignatureKeyIdentifier(WSSHandlerConstants.
X509_KEY_IDENTIFIER);
        return ofc.getProperty();
    }



The PWCBHandler is the same as in all Samples. I just changed the alias 
and the password

I set the properties programmatically, because they should change 
dynamically later:
 
Properties prop1 = getProps();
serviceclient.getOptions.options.setProperty("cyrpto_props", prop1);
...
    private Properties getProps() {
                Properties prop1 =  new Properties();
                prop1.setProperty("org.apache.ws.security.crypto.provider"
, "org.apache.ws.security.components.crypto.Merlin");
                prop1.setProperty(
"org.apache.ws.security.crypto.merlin.keystore.type", "jks");
                prop1.setProperty(
"org.apache.ws.security.crypto.merlin.keystore.password", 
"L7uZJX1JUZ9l@+W2");
                prop1.setProperty(
"org.apache.ws.security.crypto.merlin.file", "fcms.keystore");
                return prop1;
          }
 


Does anybody has an idea what I do wrong?

Thank you so very much in advance for any ideas!!!! 

Greetings 
Hans

Re: Receive WSSecurityException (The signature verification failed)

Posted by Hans-Bernhard Friedrich <H....@levigo.de>.
Hi!

Here comes the stactrace our customer sent us:

cause: org.apache.ws.security.WSSecurityException (The signature
verification failed)
] ACI_FAULT_TRACE[
de.jbfagree.babylon.ps0.axis.faults.client.ClientBabylonFault: Fehler beim
Verarbeiten des Security-Headers
             at
de.jbfagree.babylon.ps0.axis.faults.BabylonFaultFactory.CLIENT_ERROR_DURING_SECURITY_PROCESSING
(BabylonFaultFactory.java:1489)
             at
de.jbfagree.babylon.ps2.axis.handler.security.ExtractSecurityHandlerPS2.processSecurityHeader
(ExtractSecurityHandlerPS2.java:130)
             at
de.jbfagree.babylon.ps2.axis.handler.security.ExtractSecurityHandlerPS2.invokePS2
(ExtractSecurityHandlerPS2.java:96)
             at
de.jbfagree.babylon.ps2.axis.handler.AbstractPS2Handler.invokePS0
(AbstractPS2Handler.java:29)
             at 
de.jbfagree.babylon.ps0.axis.handler.AbstractPS0Handler.invoke
(AbstractPS0Handler.java:85)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.handlers.soap.SOAPService.invoke
(SOAPService.java:454)
             at 
org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
             at 
de.jbfagree.webservices.servlet.AxisWebServiceServlet.doPostImpl
(AxisWebServiceServlet.java:336)
             at 
de.jbfagree.webservices.servlet.WebServiceServletBase.doPost
(WebServiceServletBase.java:331)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:638)
             at 
de.jbfagree.webservices.servlet.WebServiceServletBase.service
(WebServiceServletBase.java:432)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:720)
             at
de.jbfagree.bootstrap.servlet.impl.DefaultProductServletManager.service
(DefaultProductServletManager.java:170)
             at de.jbfagree.bootstrap.servlet.api.BootstrapServlet.service
(BootstrapServlet.java:208)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:720)
             at de.jbfagree.bootstrap.servlet.api.BootstrapServlet.service
(BootstrapServlet.java:225)
             at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:199)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:145)
             at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:210)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:139)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:446)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2460)
             at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:133)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:119)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:117)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:127)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:157)
             at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:200)
             at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:283)
             at org.apache.jk.common.ChannelSocket.invoke
(ChannelSocket.java:773)
             at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:703)
             at org.apache.jk.common.ChannelSocket$SocketConnection.runIt
(ChannelSocket.java:895)
             at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:689)
             at java.lang.Thread.run(Thread.java:619)
caused by org.apache.ws.security.WSSecurityException: The signature 
verification
failed
             at
org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature
(SignatureProcessor.java:387)
             at 
org.apache.ws.security.processor.SignatureProcessor.handleToken
(SignatureProcessor.java:85)
             at 
org.apache.ws.security.WSSecurityEngine.processSecurityHeader
(WSSecurityEngine.java:284)
             at 
org.apache.ws.security.WSSecurityEngine.processSecurityHeader
(WSSecurityEngine.java:206)
             at 
org.apache.ws.security.WSSecurityEngine.processSecurityHeader
(WSSecurityEngine.java:159)
             at
de.jbfagree.babylon.ps2.axis.handler.security.ExtractSecurityHandlerPS2.processSecurityHeader
(ExtractSecurityHandlerPS2.java:126)
             at
de.jbfagree.babylon.ps2.axis.handler.security.ExtractSecurityHandlerPS2.invokePS2
(ExtractSecurityHandlerPS2.java:96)
             at
de.jbfagree.babylon.ps2.axis.handler.AbstractPS2Handler.invokePS0
(AbstractPS2Handler.java:29)
             at 
de.jbfagree.babylon.ps0.axis.handler.AbstractPS0Handler.invoke
(AbstractPS0Handler.java:85)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
             at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
             at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
             at org.apache.axis.handlers.soap.SOAPService.invoke
(SOAPService.java:454)
             at 
org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
             at 
de.jbfagree.webservices.servlet.AxisWebServiceServlet.doPostImpl
(AxisWebServiceServlet.java:336)
             at 
de.jbfagree.webservices.servlet.WebServiceServletBase.doPost
(WebServiceServletBase.java:331)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:638)
             at 
de.jbfagree.webservices.servlet.WebServiceServletBase.service
(WebServiceServletBase.java:432)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:720)
             at
de.jbfagree.bootstrap.servlet.impl.DefaultProductServletManager.service
(DefaultProductServletManager.java:170)
             at de.jbfagree.bootstrap.servlet.api.BootstrapServlet.service
(BootstrapServlet.java:208)
             at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:720)
             at de.jbfagree.bootstrap.servlet.api.BootstrapServlet.service
(BootstrapServlet.java:225)
             at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:199)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:145)
             at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:210)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:139)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:446)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2460)
             at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:133)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:119)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:117)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:127)
             at org.apache.catalina.core.StandardPipeline
$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
             at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:433)
             at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:955)
             at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:157)
             at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:200)
             at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:283)
             at org.apache.jk.common.ChannelSocket.invoke
(ChannelSocket.java:773)
             at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:703)
             at org.apache.jk.common.ChannelSocket$SocketConnection.runIt
(ChannelSocket.java:895)
             at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:689)
             at java.lang.Thread.run(Thread.java:619)]


Greetings
Hans


> From:
> 
> Nandana Mihindukulasooriya <na...@gmail.com>
> 
> To:
> 
> axis-user@ws.apache.org
> 
> Date:
> 
> 15.02.2010 23:52
> 
> Subject:
> 
> Re: Receive WSSecurityException (The signature verification failed)
> 
> Hans,
>      Can you post the stacktrace too. Might be helpful to figure out
> what exactly is happening. 
> 
> regards,
> Nandana 

> On Mon, Feb 15, 2010 at 7:17 PM, Hans-Bernhard Friedrich <
> H.Friedrich@levigo.de> wrote:
> Hi, 
> 
> I work on a webservice client and I always receive the same error 
> when I try to make a request to our clients webservice. 
> 
> "org.apache.ws.security.WSSecurityException (The signature 
> verification failed)" 
> 
> - Our client's webservice is axis-based, more I don't know 
> 
> - I use rampart 1.3 and Axis2 1.4.1, EclipseEE 
> - I generated the customers WSDLs with axis2 1.4.1 in EclipseEE 
> - I received certificates of our customer and imported them to a 
keystore 
> - I set up the the security using outflow configuration. I know it's
> deprecated but it seemed easier to me than using a policy.xml. 
> - I also set up a client using a policy.xml signing the body but 
> reveice the same error. I will change to policy in the next step. 
> 
> - I read all I could find on the web and in mailinglists but nothing 
helped: 
> - XML is UTF-B 
> - JVM argument "language=EN" didn't help 
> - Mixing different Axis2 and rampart versions didn't help 
> - Changing xmlsec1.4.0. jar to  1.4.1 or 1.4.2 didn't help 
> - The certs are have not expired 
> - Eclipse' Workspace encoding is UTF-8 
> 
> Question: 
> - Does the exception really mean the SOAP-Envelope has been changed 
> after is was singed? Are there any other reasons this exception 
> could be thrown? 
> 
> - What is about the "Pretty Printing" of the XML issue I've found on
> the mailing list. This this really solved in axis2 1.4.1? 
> - Is there a way to set up namespace optimation and pretty printing 
> manually in axis2 like in axis 1? 
> - Could somethig else be wrong with the certificates? 
> 
> The thing is when I use the a modified sample using a policy.xml I 
> get the same Exception 
> 
> - Is there anything I could tell our client to changed what could help 
me? 
> 
> What did I do special: 
> - Wrote a little handler to avoid "mustunderstand"-Problem in the 
> response: I Set all headers in the response to processed. The error 
> also occurs if I don't engage my handler 
> 
> Here is my Security setup using outflowConfiguration: 
> 
> ...options.setProperty(WSSHandlerConstants.OUTFLOW_SECURITY, 
> getOutflowConfiguration()); 
> ... 
> private  Parameter getOutflowConfiguration() { 
>         OutflowConfiguration ofc = new OutflowConfiguration(); 
>         ofc.setActionItems("Timestamp Signature"); 
>         ofc.setSignatureParts("{Element}{http://docs.oasis-open.org/
> wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp"); 
>         ofc.setUser("fcms-aci"); 
>         ofc.setPasswordCallbackClass("de.aci.handler.PWCBHandler"); 
>         ofc.setSignaturePropRefId("cyrpto_props");               
>         
ofc.setSignatureKeyIdentifier(WSSHandlerConstants.X509_KEY_IDENTIFIER)
> ; 
>         return ofc.getProperty(); 
>     } 
> 
> 
> 
> The PWCBHandler is the same as in all Samples. I just changed the 
> alias and the password 
> 
> I set the properties programmatically, because they should change 
> dynamically later: 
>             
> Properties prop1 = getProps(); 
> serviceclient.getOptions.options.setProperty("cyrpto_props", prop1); 
> ... 
>     private Properties getProps() { 
>                 Properties prop1 =  new Properties(); 
>                 
prop1.setProperty("org.apache.ws.security.crypto.provider", 
> "org.apache.ws.security.components.crypto.Merlin"); 
>                 prop1.setProperty(
> "org.apache.ws.security.crypto.merlin.keystore.type", "jks"); 
>                 prop1.setProperty(
> "org.apache.ws.security.crypto.merlin.keystore.password", 
"L7uZJX1JUZ9l@+W2");
>                 
prop1.setProperty("org.apache.ws.security.crypto.merlin.file"
> , "fcms.keystore"); 
>                 return prop1; 
>           } 
>         
> 
> 
> Does anybody has an idea what I do wrong? 
> 
> Thank you so very much in advance for any ideas!!!! 
> 
> Greetings 
> Hans 

Re: Receive WSSecurityException (The signature verification failed)

Posted by Nandana Mihindukulasooriya <na...@gmail.com>.
Hans,
     Can you post the stacktrace too. Might be helpful to figure out what
exactly is happening.

regards,
Nandana

On Mon, Feb 15, 2010 at 7:17 PM, Hans-Bernhard Friedrich <
H.Friedrich@levigo.de> wrote:

> Hi,
>
> I work on a webservice client and I always receive the same error when I
> try to make a request to our clients webservice.
>
> "org.apache.ws.security.WSSecurityException (The signature verification
> failed)"
>
> - Our client's webservice is axis-based, more I don't know
>
> - I use rampart 1.3 and Axis2 1.4.1, EclipseEE
> - I generated the customers WSDLs with axis2 1.4.1 in EclipseEE
> - I received certificates of our customer and imported them to a keystore
> - I set up the the security using outflow configuration. I know it's
> deprecated but it seemed easier to me than using a policy.xml.
> - I also set up a client using a policy.xml signing the body but reveice
> the same error. I will change to policy in the next step.
>
> - I read all I could find on the web and in mailinglists but nothing
> helped:
> - XML is UTF-B
> - JVM argument "language=EN" didn't help
> - Mixing different Axis2 and rampart versions didn't help
> - Changing xmlsec1.4.0. jar to  1.4.1 or 1.4.2 didn't help
> - The certs are have not expired
> - Eclipse' Workspace encoding is UTF-8
>
> Question:
> - Does the exception really mean the SOAP-Envelope has been changed after
> is was singed? Are there any other reasons this exception could be thrown?
>
> - What is about the "Pretty Printing" of the XML issue I've found on the
> mailing list. This this really solved in axis2 1.4.1?
> - Is there a way to set up namespace optimation and pretty printing
> manually in axis2 like in axis 1?
> - Could somethig else be wrong with the certificates?
>
> The thing is when I use the a modified sample using a policy.xml I get the
> same Exception
>
> - Is there anything I could tell our client to changed what could help me?
>
> What did I do special:
> - Wrote a little handler to avoid "mustunderstand"-Problem in the response:
> I Set all headers in the response to processed. The error also occurs if I
> don't engage my handler
>
> Here is my Security setup using outflowConfiguration:
>
> ...options.setProperty(WSSHandlerConstants.*OUTFLOW_SECURITY*,
> getOutflowConfiguration());
> ...
> *private*  Parameter getOutflowConfiguration() {
>         *OutflowConfiguration* ofc = *new** OutflowConfiguration()*;
>         *ofc.setActionItems(**"Timestamp Signature"**)*;
>         *ofc.setSignatureParts(**"{Element}{**
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> *<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd>
> *}Timestamp"**)*;
>         *ofc.setUser(**"fcms-aci"**)*;
>         *ofc.setPasswordCallbackClass(**"de.aci.handler.PWCBHandler"**)*;
>         *ofc.setSignaturePropRefId(**"cyrpto_props"**)*;
>         *ofc.setSignatureKeyIdentifier(WSSHandlerConstants.**
> X509_KEY_IDENTIFIER**)*;
>         *return* *ofc.getProperty()*;
>     }
>
>
>
> The *PWCBHandler* is the same as in all Samples. I just changed the alias
> and the password
>
> I set the properties programmatically, because they should change
> dynamically later:
>
> Properties prop1 = getProps();
> serviceclient.getOptions.options.setProperty("cyrpto_props", prop1);
> ...
>     *private* Properties getProps() {
>                 Properties prop1 =  *new* Properties();
>                 prop1.setProperty("org.apache.ws.security.crypto.provider",
> "org.apache.ws.security.components.crypto.Merlin");
>                 prop1.setProperty(
> "org.apache.ws.security.crypto.merlin.keystore.type", "jks");
>                 prop1.setProperty(
> "org.apache.ws.security.crypto.merlin.keystore.password", "L7uZJX1JUZ9l@
> +W2");
>                 prop1.setProperty(
> "org.apache.ws.security.crypto.merlin.file", "fcms.keystore");
>                 *return* prop1;
>           }
>
>
>
> Does anybody has an idea what I do wrong?
>
> Thank you so very much in advance for any ideas!!!!
>
> Greetings
> Hans
>