Hi,

I have available with me a CA signed certificate + its private key in
seperate files, i want to use these for encrypting and decrypting the xml
payload for my web service. For that i used openssl to convert the cert +
key in pkcs12 keystore and then imported this keystore through java keytool
in a JKS. For some reason i had to remove the password on my private key.
Now what happened is when i tried to decrypt the request payload using
wss4j-1.5.1, i got error as it cannot find the password for the private key.
To resolve this I had reset the password on the private key which may not be
the same as the one originally set. Now when i tried to decrypt again i am
getting java.security.UnrecoverableKeyException: Cannot recover key. I do
not have any clue about the exact cause of this error and need some help
here.

On the Client side java keystore, i have a self-signed certificate (signed
using openssl) and i have imported my CA signed server certificate in this
keystore.

On the server side java keystore, i have the server certifcate (signed by
CA) + its private  key, and i have imported the client certificate in this
keystore.

---------------------------------
Server side handler configuration:
---------------------------------
<handler name="receiver"
type="java:org.apache.ws.axis.security.WSDoAllReceiver">
                <parameter name="action" value="Encrypt" />
                <parameter name="decryptionPropFile" 
value="serv_enc.properties" />             
                <parameter name="passwordCallbackClass"
value="com.wsserver.PasswordProvider" />
                <parameter name="enableSignatureConfirmation" value="0" />      
        
                <parameter name="encryptionUser" value="shzd" />
                <parameter name="encryptionSymAlgorithm"
value="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"; />
                <parameter name="encryptionKeyIdentifier" 
value="X509KeyIdentifier" />          
        </handler>

--------------------
serv_enc.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=testtest
org.apache.ws.security.crypto.merlin.keystore.alias=shzd
org.apache.ws.security.crypto.merlin.file=myks.ks




------------
StackTrace:
------------
Merlin(CryptoBase).getPrivateKey(String, String) line: 148      
EncryptedKeyProcessor.handleEncryptedKey(Element, CallbackHandler, Crypto,
PrivateKey) line: 295   
EncryptedKeyProcessor.handleEncryptedKey(Element, CallbackHandler, Crypto)
line: 92        
EncryptedKeyProcessor.handleToken(Element, Crypto, Crypto, CallbackHandler,
WSDocInfo, Vector, WSSConfig) line: 80  
WSSecurityEngine.processSecurityHeader(Element, CallbackHandler, Crypto,
Crypto) line: 326       
WSSecurityEngine.processSecurityHeader(Document, String, CallbackHandler,
Crypto, Crypto) line: 243       
WSDoAllReceiver.invoke(MessageContext) line: 162        
InvocationStrategy.visit(Handler, MessageContext) line: 32      
SimpleChain.doVisiting(MessageContext, HandlerIterationStrategy) line: 118      
SimpleChain.invoke(MessageContext) line: 83     
InvocationStrategy.visit(Handler, MessageContext) line: 32      
SOAPService(SimpleChain).doVisiting(MessageContext,
HandlerIterationStrategy) line: 118     
SOAPService(SimpleChain).invoke(MessageContext) line: 83        
SOAPService.invoke(MessageContext) line: 454    
AxisServer.invoke(MessageContext) line: 281     
AxisServlet.doPost(HttpServletRequest, HttpServletResponse) line: 699   
AxisServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse)
line: 710       
AxisServlet(AxisServletBase).service(HttpServletRequest,
HttpServletResponse) line: 327  
AxisServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 803     
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse)
line: 290       
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206      
StandardWrapperValve.invoke(Request, Response) line: 230        
StandardContextValve.invoke(Request, Response) line: 175        
StandardHostValve.invoke(Request, Response) line: 128   
ErrorReportValve.invoke(Request, Response) line: 104    
StandardEngineValve.invoke(Request, Response) line: 109 
CoyoteAdapter.service(Request, Response) line: 261      
Http11Processor.process(Socket) line: 844       
Http11Protocol$Http11ConnectionHandler.process(Socket) line: 581        
JIoEndpoint$Worker.run() line: 447      
Thread.run() line: 619  

Thanks....
-- 
View this message in context: 
http://www.nabble.com/java.security.UnrecoverableKeyException%3A-Cannot-recover-key-tp22101691p22101691.html
Sent from the WSS4J mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to