Ok fernando:
 
[client side]
 
C:\workspace\Saluto\prova2\client\PWCallback.java
public class PWCallback implements CallbackHandler {
 /**
  * @see javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])
  */
 public void handle(Callback[] callbacks) throws IOException,
   UnsupportedCallbackException {
  for (int i = 0; i < callbacks.length; i++) {
   if (callbacks[i] instanceof WSPasswordCallback) {
    WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
    // set the password given a username
    if ("wss4j".equals(pc.getIdentifer())) {
     pc.setPassword("changeit");
    } else if ("secureserver".equals(pc.getIdentifer())) {
                    pc.setPassword ("changeit");
    }
   } else {
    throw new UnsupportedCallbackException(callbacks[i],
      "Unrecognized Callback");
   }
  }
 }
}
 
C:\workspace\Saluto\prova2\client\client_deploy.wsdd
 
<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"/>
<parameter name="user" value="wss4j"/>
<parameter name="passwordType" value="PasswordText"/>
<parameter name="passwordCallbackClass" value="prova2.client.PWCallback"/>
</handler>
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="Signature Encrypt"/>
<!-- PRIVATE KEY ALIAS -->
<parameter name="user" value="wss4j"/>
<!--PUBLIC KEY ALIAS -->
<parameter name="encryptionUser" value="secureserver"/>
<parameter name="passwordCallbackClass" value="prova2.client.PWCallback"/>
<parameter name="signaturePropFile" value="client_crypto.properties" />
<parameter name="encryptionPropFile" value="client_crypto.properties" />
</handler>
</requestFlow >
</globalConfiguration >
</deployment>
 
C:\workspace\Saluto\client_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=changeit
org.apache.ws.security.crypto.merlin.keystore.alias=wss4j
org.apache.ws.security.crypto.merlin.alias.password=changeit
org.apache.ws.security.crypto.merlin.file=client_keystore
 
[server side]
 
C:\Programmi\Apache\Tomcat_5_0\webapps\axis\WEB-INF\classes\prova2\deploy.wsdd
 
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="Saluto2" provider="java:RPC" style="rpc" use="literal">
<requestFlow>
    <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
        <parameter name="action" value="UsernameToken Signature Encrypt"/>
        <parameter name="passwordCallbackClass" value="PWCallback"/>
        <parameter name="signaturePropFile" value="server_crypto.properties" />          
    </handler>
</requestFlow> 
<parameter name="className" value="prova.Saluto" />
<parameter name="allowedMethods" value="saluto" />
<parameter name="scope" value="Request" />
</service>
</deployment>
 
C:\Programmi\Apache\Tomcat_5_0\webapps\axis\WEB-INF\classes\server_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=changeit
org.apache.ws.security.crypto.merlin.keystore.alias=secureserver
org.apache.ws.security.crypto.merlin.alias.password=changeit
org.apache.ws.security.crypto.merlin.file=server_keystore
 
C:\Programmi\Apache\Tomcat_5_0\webapps\axis\WEB-INF\classes\PWCallback.java
 
public class PWCallback implements CallbackHandler {
 public void handle(Callback[] callbacks) throws IOException,
   UnsupportedCallbackException {
  for (int i = 0; i < callbacks.length; i++) {
   if (callbacks[i] instanceof WSPasswordCallback) {
    WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
    // set the password given a username
    if ("wss4j".equals(pc.getIdentifer())) {
     pc.setPassword("changeit");
    } else if ("secureserver".equals(pc.getIdentifer())) {
     pc.setPassword("changeit");
    }
   } else {
    throw new UnsupportedCallbackException(callbacks[i],
      "Unrecognized Callback");
   }
  }
 }
}

This is my configuration! Bye!!! Luca

Ruchith Fernando <[EMAIL PROTECTED]> ha scritto:
Hi,

Seems like the "user" value was null.

Can you please send both your service and client configuration and the
callback handler impl classes.

Thanks,
Ruchith

On 9/12/06, Luca Risello <[EMAIL PROTECTED]>wrote:
>
> Hi Fernando, I've specify in server and client side PWCalback.class also the
> other entity (I had made all the trusting processes in the keystores) but
> now the excepition is:
>
> eneral security error (WSSecurityEngine: Callback supplied no password for:
> null)
>
>
> Thanks for helping. Bye!!!!!
>
>
> Ruchith Fernando <[EMAIL PROTECTED]>ha scritto:
> Hi,
>
> Your callback handler implementation must provide passwords for those
> user you specify in the configuration. Both classes that you have
> implemented sets the passwords for the user called "wss4j" only.
> Looking at the exception you will have to set the password for the
> user "secureserver" in the callback handler.
>
> Thanks,
> Ruchith
>
> On 9/11/06, Luca Risello wrote:
> >
> > Hi Anastasia,
> >
> > I think this is my last problem to fix to reach my goal!!!!!
> >
> > "Be sure to add the right passwords in your password callback class...
> > Good luck"
> >
> > I've added the usernamen and the password of the client_keystore in the
> > client side PWCallaback.class but this is the exception:
> >
> > General security error (WSSecurityEngine: Callback supplied no password
> for:
> > secureserver)
> >
> >
> > secureserver is the alias of the srver_keystore but there are some
> problems.
> >
> > PWCallback (client)
> >
> > package prova.client;
> >
> > import java.io.IOException;
> > import javax.security.auth.callback.Callback;
> > import javax.security.auth.callback.CallbackHandler;
> > import
> >
> javax.security.auth.callback.UnsupportedCallbackException;
> > import org.apache.ws.security.WSPasswordCallback;
> > _/**
> > * PWCallback for the Client
> > */
> > public class PWCallback implements CallbackHandler {
> > _/**
> > * @see
> >
> javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])
> > */
> > public void handle(Callback[] callbacks) throws IOException,
> > UnsupportedCallbackException {
> > for (int i = 0; i < callbacks.length; i++) {
> > if (callbacks[i] instanceof WSPasswordCallback) {
> > WSPasswordCallback pc = (WSPasswordCallback) callbacks[i];
> > // set the password given a username
> > if ("wss4j".equals(pc.getIdentifer())) {
> > pc.setPassword("security");
> > }
> > } else {
> > throw new UnsupportedCallbackException(callbacks[i],
> > "Unrecognized Callback");
> > }
> > }
> > }
> > }
> >
> > PWCallback (server)
> >
> > import java.io.IOException;
> > import javax.security.auth.callback.Callback;
> > import javax.security.auth.callback.CallbackHandler;
> > import
> >
> javax.security.auth.callback.UnsupportedCallbackException;
> > import org.apache.ws.security.WSPasswordCallback;
> > public class PWCallback implements CallbackHandler {
> > public void handle(Callback[] callbacks) throws IOException,
> > UnsupportedCallbackException {
> > for (int i = 0; i < callbacks.length; i++) {
> > if (callbacks[i] instanceof WSPasswordCallback) {
> > WSPasswordCallback pc =
> > (WSPasswordCallback)callbacks[i];
> > // set the password given a username
> > if ("wss4j".equals(pc.getIdentifer())) {
> > pc.setPassword("changeit");
> > }
> > } else {
> > throw new
> > UnsupportedCallbackException(callbacks[i], "Unrecognized
> > Callback");
> > }
> > }
> > }
> > }
> >
> >
> > Thanks for the reply!
> >
> >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto
> > spazio gratuito per i tuoi file e i messaggi
> > http://mail.yahoo.it
>
>
> --
> www.ruchith.org
>
>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto
> spazio gratuito per i tuoi file e i messaggi
> http://mail.yahoo.it


--
www.ruchith.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


__________________________________________________
Do You Yahoo!?
Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto spazio gratuito per i tuoi file e i messaggi
http://mail.yahoo.it

Reply via email to