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");
}
}
}
}
* @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>
<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
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");
}
}
}
}
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
