Title: [axis2] Custom security context token

Hello,

I'm trying to talk to a .NET service that requires messages to be signed and encrypted (using a symetric key created by a custom algorithm).  I have .NET client code for this that I would like to duplicate under Java using Axis2 and WSS4J.  The .NET client does the following to create a SecurityContextToken:

UsernameToken unt = new UsernameToken(user, user);

unt.Id = UTID;

sct = new SecurityContextToken(unt, SCTIdentifier);

sct.KeyBytes = sKey;

sct.LifeTime = new Microsoft.Web.Services2.Security.LifeTime(SCTExpires.ToLocalTime());

and then signs and encrypts the message using:

service.RequestSoapContext.Security.Tokens.Clear();

service.RequestSoapContext.Security.Elements.Clear();

service.RequestSoapContext.Security.Tokens.Add(sct);

service.RequestSoapContext.Security.Elements.Add(new EncryptedData(sct));

service.RequestSoapContext.Security.Elements.Add(new MessageSignature(sct));


Creating the key is not a problem.  A method of signing and encrypting SOAP messages in a similar manner using Axis2 and WSS4J is not obvious.  How can i create a custom security context token using WSS4J?  How can i apply that token to a message sent using Axis2?

Thanks

Reply via email to