Hello,
I'm working on creating a client with CXF v3.2.7. The WSDL I'm using has a
WS-SecurityPolicy (wsp:Policy etc.), and at first I thought I'd try
configuring the client properties via API but I've already got a cxf.xml
file for defining porxy and SSL stuff so decided to try to work this out in
Spring.
I'm currently getting the following message and error:
INFO org.apache.cxf.ws.security.wss4j.policyhandlers.AbstractBindingBuilder
- No CallbackHandler available to retrieve a password. We will now try the
crypto properties file for a private password
ERROR org.apache.wss4j.dom.message.WSSecSignature - The private key for the
supplied alias does not exist in the keystore
org.apache.wss4j.common.ext.WSSecurityException: The private key for the
supplied alias does not exist in the keystore
My jaxws:client has the following entries:
<entry key="security.callback-handler"
value="interop.client.KeystorePasswordCallback"/>
<entry key="security.signature.properties"
value="client.properties"/>
My client.properties file looks as follows:
org.apache.wss4j.crypto.provider=org.apache.ws.security.components.crypto.Merlin
org.apache.wss4j.crypto.merlin.keystore.type=jks
org.apache.wss4j.crypto.merlin.keystore.password=pzz1234
org.apache.wss4j.crypto.merlin.keystore.alias={84fb7973-5364-4a36-a7a5-7670977de474}
org.apache.wss4j.crypto.merlin.keystore.file=store.jks
The alias looks funky, but that was what I was provided by the CA.
The store.jks file resides in the root of the jar I've created. I've also
tried placing it outside the jar in the folder that the jar resides in. Is
CXF trying to look in the local machine's keystore? If so, how do I get it
to look where I've specified in client.properties ?
--
Sent from: http://cxf.547215.n5.nabble.com/cxf-user-f547216.html