On Fri, 24 Feb 2006, Dittmann, Werner wrote:

> Yes, pertty printing after Signature definitly invalidates the
> Signature.
>
> Regards,
> Werner

OK, that's useful to know; thanks. But I thought that the canonicalization of
the message, before signature and again when the signature is checked, is
supposed to avoid this. Maybe Axis doesn't do the canonicalization?

>
> ________________________________
>
>       Von: Benjamin BALET [mailto:[EMAIL PROTECTED]
>       Gesendet: Freitag, 24. Februar 2006 11:15
>       An: fx-dev@ws.apache.org
>       Betreff: WSE / WSS4J / X509 secure Webservice
>
>
>
>       Hello,
>
>
>
>       Anyone succeed to make work a .Net WebService client WSE
>
>       with WSS4J ?
>
>
>
>       On the server my WSDD config is:
>
>
>
>       <deployment xmlns="http://xml.apache.org/axis/wsdd/";
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
>
>         <globalConfiguration>
>
>           <parameter name="enableNamespacePrefixOptimization"
> value="false" />
>
>           <parameter name="disablePrettyXML" value="true"/>
>
>           <requestFlow>
>
>               <handler
> type="java:org.apache.ws.axis.security.WSDoAllReceiver">
>
>                       <parameter name="passwordCallbackClass"
> value="com.hp.ov.temip.ws.handler.PWCallback"/>
>
>                       <parameter name="action"
> value="UsernameTokenSignature UsernameToken Encrypt Timestamp"/>
>
>                       <parameter name="decryptionPropFile"
> value="security.properties" />
>
>               </handler>
>
>            </requestFlow>
>
>          </globalConfiguration>
>
>       </deployment>
>
>
>
>       On client's side, I developped with WSE 3.0 Policy framework
>
>       The following SecureMessage overriden function:
>
>
>
>               public override void SecureMessage(SoapEnvelope
> envelope, Security security)
>
>               {
>
>                  //Must Understand Headers
>
>                   security.MustUnderstand = true;
>
>                   security.Timestamp.TtlInSeconds = 60;
>
>
>
>                   //User Name Token
>
>                   UsernameToken userToken = new
> UsernameToken(m_strUsername, m_strPassword,
> PasswordOption.SendPlainText);
>
>                   security.Tokens.Add(userToken);
>
>
>
>                   X509SecurityToken token = null;
>
>                   try
>
>                   {
>
>                       token = GetSecurityToken("CN=10.67.212.35");
>
>                   }
>
>                   catch (Exception ex)
>
>                   {
>
>                       throw new Exception("Certificate not found : " +
> ex.Message);
>
>                   }
>
>
>
>                   //Define a custom X509 token
>
>                   ISecurityTokenManager stm =
> SecurityTokenManager.GetSecurityTokenManagerByTokenType(WSTrust.TokenTyp
> es.X509v3);
>
>                   X509SecurityTokenManager x509tm = stm as
> X509SecurityTokenManager;
>
>                   x509tm.DefaultKeyAlgorithm = "RSA15";
>
>                   x509tm.DefaultSessionKeyAlgorithm = "TripleDES";
>
>
>
>                   //security.Elements.Add(new EncryptedData(token));
> //De-comment this line will encrypt the Body
>
>                   // Add the token to the SOAP header.
>
>                   security.Tokens.Add(token);
> //Insert the token being used into header
>
>
>
>                   //Add Message Signature
>
>                   MessageSignature sig = new
> MessageSignature(userToken);
>
>                   sig.SignatureOptions =
> SignatureOptions.IncludeSoapBody;
>
>                   security.Elements.Add(sig);
>
>
>
>                   //Insert the encrypted UsernameToken
>
>                   security.Elements.Add(new EncryptedData(token, "#" +
> userToken.Id));
>
>               }
>
>
>
>       Into TOMCAT logs, I can notice that WSS4J is able to:
>
>        - retrieve my certificate with its public key
>
>        - Decrypt the UserNameToken
>
>       But the signature verification fails, some say that it could be
> due
>
>       to a pretty-print component that alters the SOAP message after
>
>       the signature, if so, how to deactivate such pretty-printer ?
>
>
>
>       __________________
>
>       Benjamin BALET
>
>       Capgemini France
>
>       http://bbalet.free.fr/
>
>
>
> This message contains information that may be privileged or confidential
> and is the property of the Capgemini Group. It is intended only for the
> person to whom it is addressed. If you are not the intended recipient,
> you are not authorized to read, print, retain, copy, disseminate,
> distribute, or use this message or any part thereof. If you receive this
> message in error, please notify the sender immediately and delete all
> copies of this message.
>
>
>
>

Guy Rixon                                       [EMAIL PROTECTED]
Institute of Astronomy                          Tel: +44-1223-337542
Madingley Road, Cambridge, UK, CB3 0HA          Fax: +44-1223-337523

Reply via email to