You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by Ruchith Fernando <ru...@gmail.com> on 2007/01/23 18:13:13 UTC
Re: Unrecognized Callback
Hi George,
Can this issue be due to a case where somehow, the classloader of the
callback instance passed into the callback handler is different from
the classloader that loaded the callback handler?
Thanks,
Ruchith
On 1/19/07, George Cowe <gc...@origoservices.com> wrote:
> Hi
>
> I am using WSS4J 1.5.1 with Axis 1.3 and having a problem signing a response from a web service.
> The axis client successfully signs a SOAP message and sends it to server side axis service which successfully verifies it. The axis service then attempts to sign the response and gets the following error.
>
> WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback; nested exception is:
> org.apache.ws.security.WSSecurityException: WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback
>
> I'm using the same keystore and same private key to sign message on both client and server side.
> Callback program is very simple and used on both client and server side. Works ok on client side, but throws the Unrecognized Callback exception on server side.
>
> 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];
> pc.setPassword("george");
> } else {
> throw new UnsupportedCallbackException(
> callbacks[i], "Unrecognized Callback");
> }
> }
>
> The same crypto properties file is used on client and server :-
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
> org.apache.ws.security.crypto.merlin.keystore.password=george
> org.apache.ws.security.crypto.merlin.keystore.alias=55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612
> org.apache.ws.security.crypto.merlin.alias.password=george
> org.apache.ws.security.crypto.merlin.file=george-origo.pfx
>
> The server wsdd looks like this :-
>
> <deployment name="CEBondSingleContractSecureHandlerService" xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
> xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
> <handler name="DoSecurityReceiver" type="java:org.apache.ws.axis.security.WSDoAllReceiver" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <handler name="DoSecuritySender" type="java:org.apache.ws.axis.security.WSDoAllSender" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <service name="CEBondSingleContractSecureHandlerService" style="message">
> <requestFlow>
> <handler type="DoSecurityReceiver"/>
> </requestFlow>
> <responseFlow>
> <handler type="DoSecuritySender"/>
> </responseFlow>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="className" value="com.origoservices.secure.ws.MsgProcessor"/>
> </service>
> </deployment>
>
> The axis client is using jdk 1.5 for the java runtime, the server side is Tomcat 5.0.28 which too is using the same jdk for its java runtime.
>
> Can anyone explain why an exception occurs in the passwordCallbackClass on server side?
>
> Any help much appreciated.
>
> Thanks
> George
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: wss4j-dev-help@ws.apache.org
>
>
--
www.ruchith.org
www.wso2.org
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
RE: Unrecognized Callback
Posted by George Cowe <gc...@origoservices.com>.
Thanks Ruchith,
For some reason my classpath must have been messed up, as a reboot has fixed the problem! The last thing I tried!.
Thanks
George
-----Original Message-----
From: Ruchith Fernando [mailto:ruchith.fernando@gmail.com]
Sent: 23 January 2007 17:13
To: George Cowe
Cc: wss4j-dev@ws.apache.org
Subject: Re: Unrecognized Callback
Hi George,
Can this issue be due to a case where somehow, the classloader of the callback instance passed into the callback handler is different from the classloader that loaded the callback handler?
Thanks,
Ruchith
On 1/19/07, George Cowe <gc...@origoservices.com> wrote:
> Hi
>
> I am using WSS4J 1.5.1 with Axis 1.3 and having a problem signing a response from a web service.
> The axis client successfully signs a SOAP message and sends it to server side axis service which successfully verifies it. The axis service then attempts to sign the response and gets the following error.
>
> WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback; nested exception is:
> org.apache.ws.security.WSSecurityException: WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException:
> Unrecognized Callback
>
> I'm using the same keystore and same private key to sign message on both client and server side.
> Callback program is very simple and used on both client and server side. Works ok on client side, but throws the Unrecognized Callback exception on server side.
>
> 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];
> pc.setPassword("george");
> } else {
> throw new UnsupportedCallbackException(
> callbacks[i], "Unrecognized Callback");
> }
> }
>
> The same crypto properties file is used on client and server :-
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.componen
> ts.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
> org.apache.ws.security.crypto.merlin.keystore.password=george
> org.apache.ws.security.crypto.merlin.keystore.alias=55ce69717372baf27f
> 2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612
> org.apache.ws.security.crypto.merlin.alias.password=george
> org.apache.ws.security.crypto.merlin.file=george-origo.pfx
>
> The server wsdd looks like this :-
>
> <deployment name="CEBondSingleContractSecureHandlerService" xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
> xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
> <handler name="DoSecurityReceiver" type="java:org.apache.ws.axis.security.WSDoAllReceiver" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <handler name="DoSecuritySender" type="java:org.apache.ws.axis.security.WSDoAllSender" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <service name="CEBondSingleContractSecureHandlerService" style="message">
> <requestFlow>
> <handler type="DoSecurityReceiver"/>
> </requestFlow>
> <responseFlow>
> <handler type="DoSecuritySender"/>
> </responseFlow>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="className"
> value="com.origoservices.secure.ws.MsgProcessor"/>
> </service>
> </deployment>
>
> The axis client is using jdk 1.5 for the java runtime, the server side is Tomcat 5.0.28 which too is using the same jdk for its java runtime.
>
> Can anyone explain why an exception occurs in the passwordCallbackClass on server side?
>
> Any help much appreciated.
>
> Thanks
> George
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: wss4j-dev-help@ws.apache.org
>
>
--
www.ruchith.org
www.wso2.org
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org
RE: Unrecognized Callback
Posted by George Cowe <gc...@origoservices.com>.
Thanks Ruchith,
For some reason my classpath must have been messed up, as a reboot has fixed the problem! The last thing I tried!.
Thanks
George
-----Original Message-----
From: Ruchith Fernando [mailto:ruchith.fernando@gmail.com]
Sent: 23 January 2007 17:13
To: George Cowe
Cc: wss4j-dev@ws.apache.org
Subject: Re: Unrecognized Callback
Hi George,
Can this issue be due to a case where somehow, the classloader of the callback instance passed into the callback handler is different from the classloader that loaded the callback handler?
Thanks,
Ruchith
On 1/19/07, George Cowe <gc...@origoservices.com> wrote:
> Hi
>
> I am using WSS4J 1.5.1 with Axis 1.3 and having a problem signing a response from a web service.
> The axis client successfully signs a SOAP message and sends it to server side axis service which successfully verifies it. The axis service then attempts to sign the response and gets the following error.
>
> WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback; nested exception is:
> org.apache.ws.security.WSSecurityException: WSHandler: password callback failed; nested exception is:
> javax.security.auth.callback.UnsupportedCallbackException:
> Unrecognized Callback
>
> I'm using the same keystore and same private key to sign message on both client and server side.
> Callback program is very simple and used on both client and server side. Works ok on client side, but throws the Unrecognized Callback exception on server side.
>
> 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];
> pc.setPassword("george");
> } else {
> throw new UnsupportedCallbackException(
> callbacks[i], "Unrecognized Callback");
> }
> }
>
> The same crypto properties file is used on client and server :-
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.componen
> ts.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=pkcs12
> org.apache.ws.security.crypto.merlin.keystore.password=george
> org.apache.ws.security.crypto.merlin.keystore.alias=55ce69717372baf27f
> 2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612
> org.apache.ws.security.crypto.merlin.alias.password=george
> org.apache.ws.security.crypto.merlin.file=george-origo.pfx
>
> The server wsdd looks like this :-
>
> <deployment name="CEBondSingleContractSecureHandlerService" xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
> xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
> <handler name="DoSecurityReceiver" type="java:org.apache.ws.axis.security.WSDoAllReceiver" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <handler name="DoSecuritySender" type="java:org.apache.ws.axis.security.WSDoAllSender" >
> <parameter name="action" value="Signature"/>
> <parameter name="signaturePropFile" value="crypto.properties"/>
> <parameter name="signatureKeyIdentifier" value="DirectReference"/>
> <parameter name="user" value="55ce69717372baf27f2862857a9dd2db_50e417e0-e461-474b-96e2-077b80325612"/>
> <parameter name="passwordCallbackClass" value="com.origoservices.keystore.util.PasswordProvider" />
> <parameter name="mustUnderstand" value="0" />
> </handler>
> <service name="CEBondSingleContractSecureHandlerService" style="message">
> <requestFlow>
> <handler type="DoSecurityReceiver"/>
> </requestFlow>
> <responseFlow>
> <handler type="DoSecuritySender"/>
> </responseFlow>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="className"
> value="com.origoservices.secure.ws.MsgProcessor"/>
> </service>
> </deployment>
>
> The axis client is using jdk 1.5 for the java runtime, the server side is Tomcat 5.0.28 which too is using the same jdk for its java runtime.
>
> Can anyone explain why an exception occurs in the passwordCallbackClass on server side?
>
> Any help much appreciated.
>
> Thanks
> George
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: wss4j-dev-help@ws.apache.org
>
>
--
www.ruchith.org
www.wso2.org
---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org