re,
mmmh the error still stays (am I damned :D). I put here the stack trace
error. I am not very familiar with axis/wss4j but doesn't that come from
the server ? I mean... it looks like the client is okay isn't it ?
Best regards
Tabin Cédric
- Using Crypto Engine [org.apache.ws.security.components.crypto.Merlin]
Exception in thread "main" AxisFault
faultCode: {http://xml.apache.org/axis/}Server
faultSubcode:
faultString: Server Error
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:Server Error
at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:473)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
{http://xml.apache.org/axis/}hostname:whl00213b
Server Error
at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at
eteaching.webservice.remote.MoodleETeachingSoapBindingStub.authenticate(MoodleETeachingSoapBindingStub.java:411)
at eteaching.Main.main(Main.java:45)
> Try DirectReference instead of X509KeyIdentifier for the
> encryptionKeyIdentifier parametes.
>
> And as I am aware of it, yes wss4j automatically selects the private key
> to decrypt the message.
>
> Emanuel
>
> On 2/15/06, Tabin Cédric -[ thecaptain ]- <[EMAIL PROTECTED]>
> wrote:
>> Hi Emmanuel and thanks for the so fast reply :)
>>
>> So I tried what you wrote me and I obtain those files :
>>
>> CLIENT
>> ------
>> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
>> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>> <transport name="http"
>> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
>> <globalConfiguration >
>> <requestFlow >
>> <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
>> <parameter name="action" value="Signature Encrypt"/>
>> <parameter name="user" value="privatekey"/>
>> <parameter name="passwordCallbackClass"
>> value="eteaching.webservice.security.WSMainPasswordCallback"/>
>> <parameter name="signaturePropFile" value="crypto.properties" />
>> <parameter name="encryptionUser" value="privatekey" />
>> <parameter name="encryptionPropFile" value="crypto.properties" />
>> <parameter name="encryptionKeyIdentifier"
>> value="X509KeyIdentifier" />
>> </handler>
>> </requestFlow>
>> </globalConfiguration>
>> </deployment>
>>
>> SERVER
>> ------
>> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
>> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>>
>> <service name="MoodleETeaching" provider="java:RPC">
>>
>> <requestFlow>
>> <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
>> <parameter name="passwordCallbackClass"
>> value="eteaching.webservice.security.WSMoodlePasswordCallback"/>
>> <parameter name="action" value="Signature Encrypt"/>
>> <parameter name="signaturePropFile" value="crypto.properties" />
>> <parameter name="decryptionPropFile" value="crypto.properties" />
>> </handler>
>> </requestFlow>
>>
>> <parameter name="scope" value="Session" />
>> <parameter name="className"
>> value="eteaching.webservice.MoodleETeaching"/>
>> <parameter name="allowedMethods" value="*"/>
>>
>> </deployment>
>>
>> but the server error stays :( I wonder why it wasn't working when I
>> didn't specifiy the encryptionPropFile and the decryptionPropFile...
>> the soap requests won't be encrypted ? I'm following the tutorials on
>> this page : http://ws.apache.org/wss4j/package.html on "Combine
>> Signature and Encryption" !
>>
>> "Yes, the encryption is done with the public key so only the owner of
>> the private key can decrypt it." Yes, but does wss3j automatically
>> select the private key for the decryption on the server ? or must I
>> specify something in my deployment wsdd ???
>>
>> Best regards
>>
>> Tabin Cédric
>>
>> > Hi Tabin!
>> >
>> > In the client wsdd configuration settings you have to set the
>> > encryption properties also, meaning the parameters: encryptionUser
>> (which should be the alias of the certificate used to encrypt),
>> encryptionKeyIdentifier and encryptionPropFile (crypto.properties).
>> >
>> > On the server side you have to set the decryptionPropFile
>> > (crypto.properties to locate the keystore with the private key that
>> should be used to decrypt).
>> >
>> > Yes, the encryption is done with the public key so only the owner of
>> the private key can decrypt it.
>> >
>> > Hope it helps!
>> >
>> > Emanuel
>> >
>> > On 2/15/06, Tabin Cédric -[ thecaptain ]- <[EMAIL PROTECTED]>
>> wrote:
>> >> Hi all !
>> >>
>> >> I'm trying to set up the Signature Encrypt between my
>> >> client/webservice. As I can see, the signature & encryption are
>> okay for my client but the server doesn't work : he throws me an
>> Server Error (not very useful :D). Here are my configurations :
>> >>
>> >> CLIENT
>> >> ------
>> >>
>> >> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
>> >> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>> >> <transport name="http"
>> >> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
>> >> <globalConfiguration >
>> >> <requestFlow >
>> >> <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
>> >> <parameter name="action" value="Signature Encrypt"/>
>> >> <parameter name="user" value="privatekey"/>
>> >> <parameter name="passwordCallbackClass"
>> >> value="eteaching.webservice.security.WSMainPasswordCallback"/>
>> >> <parameter name="signaturePropFile" value="crypto.properties"
>> />
>> >> </handler>
>> >> </requestFlow>
>> >> </globalConfiguration>
>> >> </deployment>
>> >>
>> >> I use the xml like this into axis :
>> >> EngineConfiguration config = new
>> >> FileProvider("mainclientconfig.wsdd"); MoodleETeachingService
>> service = new MoodleETeachingServiceLocator(config, url);
>> >>
>> >> My crypto.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=security
>> org.apache.ws.security.crypto.merlin.keystore.alias=privatekey
>> org.apache.ws.security.crypto.merlin.alias.password=security
>> >> org.apache.ws.security.crypto.merlin.file=privateKeyStore
>> >>
>> >> and also my keys into the privateKeyStore :
>> >> Type keystore : jks
>> >> Fournisseur keystore : SUN
>> >>
>> >> publickey, 14 fév. 2006, trustedCertEntry, Emprunte du certificat
>> (MD5) : .....
>> >> privateky, 14 fév. 2004, keyEntry, Emprunte du certificat (MD5) :
>> .....
>> >>
>> >> SERVER
>> >> ------
>> >>
>> >> I also put the same crypto.properties with this deployment file :
>> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
>> >> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>> >>
>> >> <service name="MoodleETeaching" provider="java:RPC">
>> >>
>> >> <requestFlow>
>> >> <handler
>> type="java:org.apache.ws.axis.security.WSDoAllReceiver">
>> >> <parameter name="passwordCallbackClass"
>> >> value="eteaching.webservice.security.WSMoodlePasswordCallback"/>
>> >> <parameter name="action" value="Signature Encrypt"/>
>> >> <parameter name="signaturePropFile" value="crypto.properties"
>> />
>> >> </handler>
>> >> </requestFlow>
>> >>
>> >> <parameter name="scope" value="Session" />
>> >> <parameter name="className"
>> >> value="eteaching.webservice.MoodleETeaching"/>
>> >> <parameter name="allowedMethods" value="*"/>
>> >>
>> >> </service>
>> >> </deployment>
>> >>
>> >> I think I've got a problem understanding the using of the
>> certificates into wss4j (how to say : encrypt with his public key,
>> decrypt with my private key ?)...
>> >>
>> >> Thank you for the help :)
>> >>
>> >> Best regards
>> >>
>> >> Tabin Cédric
>> >>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]