Hi

I wanted to implement "Message Level Security" for webservices and webservices should be accessed from AXIS client.

keytool -genkey -keystore pccw.jks -storepass serverpassword -storetype JKS -alias BOMTAServer -keyalg RSA
keytool -genkey -keystore rayclient.jks -storepass clientpassword -storetype JKS -alias raymond -keyalg RSA

Step 2) I have export the cert using
keytool -export -keystore pccw.jks -storepass serverpassword -storetype JKS -alias BOMTAServer -file BOMTAServer.cert
keytool -export -keystore rayclient.jks -storepass clientpassword -storetype JKS -alias raymond -file raymond.cert

Step 3) I have import the cert using
keytool -import -keystore pccw.jks -storepass serverpassword -storetype JKS -alias raymond -file raymond.cert
keytool -import -keystore rayclient.jks -storepass clientpassword -storetype JKS -alias BOMTAServer -file BOMTAServer.cert

Basically i have two java key stores having the same information is located at the client side and server side. I am doing any thing wrong here? please advice me.


When i try to access the webservices trough AXIS client. I am getting the error below from weblogic server log.

javax.xml.rpc.soap.SOAPFaultException: Could not resolve key for signature weblo
gic.xml.security.signature.Signature@18290a3
at weblogic.xml.security.wsse.internal.Utils.handleException(Utils.java:
103)
at weblogic.xml.security.wsse.v200207.SecureInputStreamInternal.verifySt
ream(SecureInputStreamInternal.java:394)
at weblogic.xml.security.wsse.v200207.SecureInputStreamInternal.handleSi
gnature(SecureInputStreamInternal.java:299)
at weblogic.xml.security.wsse.v200207.SecureInputStreamInternal.buildStr
eam(SecureInputStreamInternal.java:228)
at weblogic.xml.security.wsse.v200207.SecureInputStreamInternal.buildStr
eam(SecureInputStreamInternal.java:184)
at weblogic.xml.security.wsse.v200207.SecureInputStreamInternal.getSecur
ityElement(SecureInputStreamInternal.java:512)
at weblogic.xml.security.wsse.SecureSoapInputStream.getSecurityElement(S
ecureSoapInputStream.java:366)
at com.bea.wlw.runtime.jws.wssecurity.inbound.WLWInboundWSSEImpl.handleR
equest(WLWInboundWSSEImpl.java:170)
at com.bea.wlw.runtime.jws.wssecurity.inbound.WLWInboundWSSEImpl.verifyS
ecurity(WLWInboundWSSEImpl.java:153)
at com.bea.wlw.runtime.jws.request.SoapRequest.applyWSSEPolicy(SoapReque
st.java:884)
at com.bea.wlw.runtime.jws.request.SoapRequest.<init>(SoapRequest.java:1
27)
at com.bea.wlw.runtime.jws.request.XmlRequest.createSoapRequest(XmlReque
st.java:314)
at com.bea.wlw.runtime.jws.request.XmlRequest.validateTarget(XmlRequest.
java:176)
at com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(SyncDispatche
rBean.java:65)
at com.bea.wlw.runtime.core.bean.SyncDispatcher_k1mrl8_EOImpl.invoke(Syn
cDispatcher_k1mrl8_EOImpl.java:100)
at com.bea.wlw.runtime.core.dispatcher.Dispatcher.remoteDispatch(Dispatc
her.java:161)
at com.bea.wlw.runtime.core.dispatcher.Dispatcher.dispatch(Dispatcher.ja
va:49)
at com.bea.wlw.runtime.core.dispatcher.HttpServerHelper.executePostReque
st(HttpServerHelper.java:713)
at com.bea.wlw.runtime.core.dispatcher.HttpServer.doPost(HttpServer.java
:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1006)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)