Hello Raphaël, I will suggest you to download WSE 3.0 (Web Services Enhancements) which requires .net 2.0 framework (although you said you need a client using .net 1.1).
I will strongly recommend you to use .net 2.0 framework. If you need to use .net 1.1. I think you may use it with WSE 2.0. The thing is that WSE 3.0 should be more robust than WSE 2.0 in terms of stability and above all more compliant in terms of the WS-security standard point of view from OASIS. You are correct when saying that you need to use the TIMESTAMP parameter. When you will install the WSE 2.0 or WSE 3.0, there is some examples provided with the package. Please also note that WSS4J package provides examples under the folder "interop". There is specially the folder interop/keys that contains the keys in the jks format and keys in the pfx format. They explain how they generated them (from jks -> pfx), but it is still unclear for me about the formats. Maybe some of the wss4j developers may provide us more information! Because it is not easy to transfer the keys generated with the keytool to the Microsoft world. You may use the WSDL Proxy class tool (WseWsdl3.exe - this comes with WSE 3.0 ) from microsoft to generate the proxy code for the Web service client from the existing WSDL file you have. Please note that your wsdl should be compliant with WS-I, in order to achieve maximal interoperability between the two technologies (Microsoft WSE 3.0 - Axis 1.4, wss4j) (http://www.ws-i.org/). To develop the .net client you may use Visual C# 2005 Express Edition<http://msdn.microsoft.com/vstudio/express/visualcsharp/>(free), there is also a c-sharp plugin for Eclipse if you decide to write your client in C-sharp language. Well Raphaël, hope I provide some directions to inspire you. Kind regards, José Ferreiro On 4/14/08, Raphaël Di Cicco <[EMAIL PROTECTED]> wrote: > > > Hello, > > I have the following configuration : > tomcat 5.5.25 > axis 1.4 > wss4j 1.5.3 > JDK1.5 > JKS and self signed certificates > > I was able to secure the connection between my java client and the server > by > using the following conguration : > > SERVER WSDD > <service name="UploadCoverCreation" provider="java:RPC" attachment="NONE" > xmlns:ict="urn:dtos.client.ws.ic.axa.com"> > <parameter name="allowedMethods" value="getVersion,invoke"/> > <parameter name="className" value="com.axa.ic.ws.UploadCoverCreationWS"/> > <requestFlow> > <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver"> > <parameter name="passwordCallbackClass" > value="com.ic.ws.helpers.PWCallback"/> > <parameter name="action" value="UsernameToken Encrypt"/> > <parameter name="decryptionPropFile" value="crypto_server.properties" > /> > </handler> > </requestFlow> > ... > </service> > > CRYPTO SERVER 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=keystorepassword > org.apache.ws.security.crypto.merlin.keystore.alias=serverUser > org.apache.ws.security.crypto.merlin.alias.password=myserverpassword > org.apache.ws.security.crypto.merlin.file=serverkeystore.jks > > CLIENT WSDD > <?xml version="1.0" encoding="UTF-8"?> > <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="UsernameToken Encrypt"/> > <parameter name="passwordCallbackClass" > value="com.axa.ic.ws.client.helpers.PWCallback"/> > <parameter name="passwordType" value="PasswordText" /> > <parameter name="addUTElement" value="Nonce Created" /> > <parameter name="encryptionPropFile" value="crypto_client.properties" > /> > <parameter name="encryptionKeyIdentifier" value="X509KeyIdentifier" /> > <parameter name="encryptionUser" value="serverUser" /> > <parameter name="encryptionParts" > value="{Element}{ > http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken > " > /> > </handler> > </requestFlow> > </globalConfiguration > > </deployment> > > > The hard part comes now... I have to make this work with a .Net 1.1 > client. > I understand the .net framework must use WSE but I'm unsure which version > : > 2.0 or 3.0 ? > I also know that I must use the Timestamp action for it to be compatible. > Beeing a complete newbie to .Net I looked for a sample or tutorial that > could fit to my project but could not find any. I'm especially confused > about certificates, which format should I use to be compatible on both > sides, and also about the policy file from the .net side that seems rather > complex. > > So I was wondering if any of you had success with such configuration. Some > pointers or code samples would be greatly appreciated in order for me to > advance to interoperability. > > Thank you, > Raphaël > -- > View this message in context: > http://www.nabble.com/Adapting-my-%22Java-only%22-webservice-security-to-a-.net-client-tp16678577p16678577.html > Sent from the WSS4J mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- José Ferreiro "Think little goals and expect little achievements. Think big goals and win big success." David Joseph Schwartz
