As the error message says: yoou need a password to decrypt th given user's private keey. The user's private key is required to construct the signature.
Regards, Werner [EMAIL PROTECTED] wrote: > Hi Werner, > > yes but i have a keystore pkcs12 given by a CA, I specify a user > > w.setOption(WSHandlerConstants.USER, "hermann"); > > and It's return WsHandler:application provided null or empty password > > My cryptoSender.properties are: > org.apache.ws.security.crypto.merlin.file=x509pri.p12 > org.apache.ws.security.crypto.merlin.keystore.type=pkcs12 > org.apache.ws.security.crypto.merlin.keystore.password=1234567890 > > now I have to specify user even in the cryptosender.properties?? > > Thanks a lot > > -----Messaggio originale----- > Da: Dittmann, Werner [mailto:[EMAIL PROTECTED] > Inviato: ven 23/06/2006 16.02 > A: [EMAIL PROTECTED]; [email protected] > Oggetto: AW: [WSS4J 1.5] WsDoAllReceiver No action defined for signature > > Missing username here means: you need to spcifiy the username to get the > private key of the user that signes the request. Otherwise how would > WSS4J > know which certificate to use? > > Regards, > Werner > > > ________________________________ > > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Gesendet: Freitag, 23. Juni 2006 15:19 > An: [email protected] > Betreff: [WSS4J 1.5] WsDoAllReceiver No action defined for > signature > > > > Hi all, > > I've a problem with WsDoAllSender class > > I defined a class that set option of the client because I can't > use client.wsdd: > > package PerformWSSecurity; > import java.util.Hashtable; > import org.apache.axis.AxisEngine; > import org.apache.axis.ConfigurationException; > import org.apache.axis.SimpleTargetedChain; > import org.apache.axis.configuration.SimpleProvider; > import org.apache.ws.axis.security.WSDoAllSender; > import org.apache.ws.security.handler.WSHandlerConstants; > > > public class MyEngineConfiguration extends SimpleProvider { > > public MyEngineConfiguration() { > super(); > this.deployTransport("http", new SimpleTargetedChain(new > org.apache.axis.transport.http.HTTPSender())); > //parameters > Hashtable<String, Object> opts = new Hashtable<String, > Object>(); > opts.put(AxisEngine.PROP_DISABLE_PRETTY_XML, > Boolean.TRUE); > this.setGlobalOptions(opts); > //requestFlow > org.apache.ws.axis.security.WSDoAllSender w = new > WSDoAllSender(); > w.setOption(WSHandlerConstants.SIG_PROP_FILE, > "cryptoSender.properties"); > w.setOption(WSHandlerConstants.SIG_KEY_ID, > "DirectReference"); > w.setOption(WSHandlerConstants.ACTION, > WSHandlerConstants.SIGNATURE); > this.setGlobalResponse(w); > } > > public void configureEngine(AxisEngine engine) throws > ConfigurationException { > engine.refreshGlobalOptions(); > } > } > > because the client have to crypt message with the > cryptosender.properties and send the reference of certificate, the > action that have to do is Signature but I don't find how do this action, > if i use this > > w.setOption(WSHandlerConstants.ACTION, > WSHandlerConstants.SIGNATURE); > > returns: WSDoAllSender: Empty username for specified action > > If i don't use: WSDoAllSender: No action defined, of couse. > > So I think that this action is specied for username token, but > I'm not using username token > > How can I specify that the action to do is Signature?? > > I put the deploy of my server side: > > <!-- Use this file to deploy some handlers/chains and services > --> > <!-- Two ways to do this: > --> > <!-- java org.apache.axis.client.AdminClient deploy.wsdd > --> > <!-- after the axis server is running > --> > <!-- or > --> > <!-- java org.apache.axis.utils.Admin client|server > deploy.wsdd --> > <!-- from the same directory that the Axis engine runs > --> > > <deployment > xmlns="http://xml.apache.org/axis/wsdd/" > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <!-- Services from PerformWSService WSDL service --> > > <service name="PerformWService" provider="java:RPC" > style="rpc" use="encoded"> > <requestFlow> > <handler > type="java:org.apache.ws.axis.security.WSDoAllReceiver"> > <parameter name="action" value="Signature"/> > <parameter name="signaturePropFile" > value="cryptoReceiver.properties"/> > </handler> > </requestFlow> > <parameter name="wsdlTargetNamespace" > value="urn:PerformWService"/> > <parameter name="wsdlServiceElement" > value="PerformWSService"/> > <parameter name="wsdlServicePort" > value="PerformWService"/> > <parameter name="className" > value="PerformWS.PerformWServiceSoapBindingSkeleton"/> > <parameter name="wsdlPortType" value="PerformWS"/> > <parameter name="typeMappingVersion" value="1.2"/> > <parameter name="allowedMethods" value="*"/> > <parameter name="scope" value="Session"/> > > </service> > </deployment> > > > Thanks all for help > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
