Hi,

I generated encrypted password in windows machine and using it in Unix
environment. I deployed standalone java programs as jar files and when i
execute it withencrypted password it works fine in Unix environment (AIX
machine) though the encrypted one was generated in Windows environment. 

But i have few http web service projects in Fuse and when i try to use those
projects with this encrypted password I am getting this above mentioned
error. This looks starnge for me.

Do I need to use any certificates related to fuse?

Kindly help to sort out this issue.
Regards
B.Jayasree


jayasreeb wrote:
> 
> Hi,
> 
> 
> We are working on fuse-esb-3.3.1.3. I havei mplemented Encryption and
> Decryption using Java 1.5 and I have placed Common-codec-1.3 jar under lib
> directory of Fuse.During the execution of Fuse project it works perfectly
> fine in windows system.In Unix i am getting following error.
> 
> org.springframework.jms.listener.adapter.ListenerExecutionFailedException:
> Exchange processing failed; nested exception is org.a
> che.cxf.interceptor.Fault
> Caused by:
> org.apache.cxf.interceptor.Fault
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:110)
>         at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.createFault(JAXWSMethodInvoker.java:86)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:98)
>         at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:110)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:68)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56)
>         at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>         at
> org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156)
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:232)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:810)
> Caused by:
> java.lang.ExceptionInInitializerError
>         at java.lang.J9VMInternals.initialize(J9VMInternals.java:216)
>         at javax.crypto.SecretKeyFactory.getInstance(Unknown Source)
>         at com.cvs.eph.common.Encrypt.init(Encrypt.java:62)
>         at com.cvs.eph.common.Encrypt.<init>(Encrypt.java:47)
>         at com.cvs.eph.common.Decryptor.decrypt(Decryptor.java:39)
>         at
> com.cvs.eph.initiate.InitiateExecuteDAO.<clinit>(InitiateExecuteDAO.java:54)
>         at java.lang.J9VMInternals.initializeImpl(Native Method)
>         at java.lang.J9VMInternals.initialize(J9VMInternals.java:194)
>         at
> com.cvs.eph.ongoingmaint.OngoingMaintServiceImpl.deleteCustomer(OngoingMaintServiceImpl.java:996)
>         at
> com.cvs.eph.ongoingmaint.OngoingMaintServiceImpl.ongoingMaintenance(OngoingMaintServiceImpl.java:131)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:618)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:127)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:82)
>         ... 19 more
> Caused by:
> java.lang.SecurityException: Cannot set up certs for trusted CAs
>         at javax.crypto.b.<clinit>(Unknown Source)
>         at java.lang.J9VMInternals.initializeImpl(Native Method)
>         at java.lang.J9VMInternals.initialize(J9VMInternals.java:194)
>         ... 34 more
> Caused by:
> java.security.PrivilegedActionException:
> java.security.InvalidKeyException: Public key presented not for
> certificate signature
>         at
> java.security.AccessController.doPrivileged(AccessController.java:250)
>         ... 37 more
> Caused by:
> java.security.InvalidKeyException: Public key presented not for
> certificate signature
>         at
> org.bouncycastle.jce.provider.X509CertificateObject.checkSignature(Unknown
> Source)
>         at
> org.bouncycastle.jce.provider.X509CertificateObject.verify(Unknown Source)
>         at javax.crypto.b.a(Unknown Source)
>         at javax.crypto.b.access$500(Unknown Source)
>         at javax.crypto.b$0.run(Unknown Source)
>         at
> java.security.AccessController.doPrivileged(AccessController.java:246)
>         ... 37 more
> ERROR - JmsComponent                   - Error setting exchange status to
> ERROR
> javax.jbi.messaging.MessagingException: illegal call to send / sendSync
>         at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:614)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:385)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>         at java.lang.Thread.run(Thread.java:810)
> 
> 
> Please find Encrypt.java file
> 
> /*==========================================================================
>  Copyright © 2008 CVS
>  Encrypt                      1.0             1-Nov-2008
>  All rights Reserved. The contents of this file are a part of CVS EPH
> Project.
>  You get a nonexclusive, limited right to use
>  this file for the purpose for which it is delivered, solely in accordance
>  with the agreement in place.
> 
> ==========================================================================*/
> /**
>  * Classname : Encrypt
>  * Functionality Description : This class is implementing the logic for
> decryption
>  * and the encryption of the passwords for the project
>  * Modification Log
>  * Date                               Author                          
> Description
>  *
> --------------------------------------------------------------------------
>  * 1-Nov-2008         Infosys                         Baseline Version
>  * Release no : 1.0
>  */
> 
> package com.cvs.eph.common;
> 
> import javax.crypto.Cipher;
> import javax.crypto.SecretKey;
> import javax.crypto.SecretKeyFactory;
> import javax.crypto.spec.PBEParameterSpec;
> 
> 
> public final class Encrypt
> 
> {
>       private Cipher encryptCipher;
>       private Cipher decryptCipher;
>       private org.apache.commons.codec.binary.Base64 encoder = new
> org.apache.commons.codec.binary.Base64();
>       private org.apache.commons.codec.binary.Base64 decoder = new
> org.apache.commons.codec.binary.Base64();
> 
>       /**
>        * Encrypts the password
>        * @throws SecurityException
>        */
>       public Encrypt() throws SecurityException
>       {
>               //java.security.Security.addProvider(new
> com.sun.crypto.provider.SunJCE());
>               char[] pass =
> "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".toCharArray();
>               byte[] salt = {(byte) 0xa3, (byte) 0x21, (byte) 0x24, (byte) 
> 0x2c,
>                               (byte) 0xf2, (byte) 0xd2, (byte) 0x3e, (byte) 
> 0x19};
>               int iterations = 3;
>               init(pass, salt, iterations);
>       }
> 
>       /**
>        * Performs encryption
>        * @param pass - password
>        * @param salt - array containing salt object
>        * @param iterations - count
>        * @throws SecurityException
>        */
>       public void init(char[] pass, byte[] salt, int iterations)throws
> SecurityException
>       {
>               try
>               {
>                       PBEParameterSpec ps = new 
> javax.crypto.spec.PBEParameterSpec(salt, 20);
>                       SecretKeyFactory skf =
> SecretKeyFactory.getInstance("PBEWithMD5AndDES");
>                       SecretKey sk = skf.generateSecret(new
> javax.crypto.spec.PBEKeySpec(pass));
> 
>                       encryptCipher =
> Cipher.getInstance("PBEWithMD5AndDES/CBC/PKCS5Padding");
>                       encryptCipher.init(Cipher.ENCRYPT_MODE, sk, ps);
>                       decryptCipher =
> Cipher.getInstance("PBEWithMD5AndDES/CBC/PKCS5Padding");
>                       decryptCipher.init(Cipher.DECRYPT_MODE, sk, ps);
>               }
> 
>               catch (Exception e)
>               {
>                       throw new SecurityException("Could not initialize 
> CryptoLibrary: " +
> e.getMessage());
>               }
>       }
> 
> /**
>  * convenience method for encrypting a string.
>  *
>  * @param str password
>  * @return the encrypted string.
>  * @exception SecurityException
>  */
> 
>       public synchronized String encrypt(String str)throws SecurityException
>       {
>               try
>               {
>                       byte[] utf8 = str.getBytes("UTF8");
>                       byte[] enc = encryptCipher.doFinal(utf8);
>                       return new String(encoder.encode(enc));
>               }
>               catch (Exception e)
>               {
>                       throw new SecurityException("Could not encrypt: " + 
> e.getMessage());
>               }
>       }
> 
> /**
>  * convenience method for decrypting a string.
>  *
>  * @param str - encrypted password
>  * @return decrypted password
>  * @exception SecurityException Description of the Exception
>  */
> 
>       public synchronized String decrypt(String str)throws SecurityException
>       {
>               try
>               {
> 
>                       byte[] dec = decoder.decode(str.getBytes());
>                       byte[] utf8 = decryptCipher.doFinal(dec);
>                       return new String(utf8, "UTF8");
> 
>               }
> 
>               catch (Exception e)
>               {
> 
>                       throw new SecurityException("Could not decrypt: " + 
> e.getMessage());
> 
>               }
> 
>       }
> }
> 
> Encryptor.java
> 
> /*==========================================================================
>  Copyright © 2008 CVS
>  Encryptor                    1.0             1-Nov-2008
>  All rights Reserved. The contents of this file are a part of CVS EPH
> Project.
>  You get a nonexclusive, limited right to use
>  this file for the purpose for which it is delivered, solely in accordance
>  with the agreement in place.
> 
> ==========================================================================*/
> /**
>  * Classname : Encryptor
>  * Functionality Description : This class is used for encryption of
> password used
>  * in this project
>  * Modification Log
>  * Date                               Author                          
> Description
>  *
> --------------------------------------------------------------------------
>  * 1-Nov-2008         Infosys                         Baseline Version
>  * Release no : 1.0
>  */
> package com.cvs.eph.common;
> 
> import java.io.BufferedReader;
> import java.io.InputStreamReader;
> 
> 
> public class Encryptor
> {
>       /**
>        * Calls encrypt classes
>        * @param args
>        */
>       public static void main(String[] args)
>       {
>               try
>               {
>                       Encrypt cl = new Encrypt();
>                       InputStreamReader isrTest = new 
> InputStreamReader(System.in);
>                       BufferedReader brTest = new BufferedReader(isrTest);
>                       System.out.println("Enter the  Password:");
>                       String strPassword =brTest.readLine();
>                       String strEncryptdPwd = cl.encrypt(strPassword);
>                       String dpass = cl.decrypt(strEncryptdPwd);
>                       System.out.println("Password: "+ strEncryptdPwd);
> 
>                       brTest.readLine();
>               }
>               catch (Exception e)
>               {
>                       System.out.println("Unable to encrypt the 
> password:"+e.getMessage());
>                       e.printStackTrace();
>                       System.exit(1);
>               }
>       }
> 
> }
> 
> 
> Decryptor.java
> 
> /*==========================================================================
>  Copyright © 2008 CVS
>  Decryptor                    1.0             1-Nov-2008
>  All rights Reserved. The contents of this file are a part of CVS EPH
> Project.
>  You get a nonexclusive, limited right to use
>  this file for the purpose for which it is delivered, solely in accordance
>  with the agreement in place.
> 
> ==========================================================================*/
> /**
>  * Classname : Decryptor
>  * Functionality Description : This class is used for decrytpion of
> password used
>  * in this project
>  * Modification Log
>  * Date                               Author                          
> Description
>  *
> --------------------------------------------------------------------------
>  * 1-Nov-2008         Infosys                         Baseline Version
>  * Release no : 1.0
>  */
> 
> 
> package com.cvs.eph.common;
> 
> public class Decryptor
> {
>       private static String strReqID = EPHConstants.COM_REQ_ID;
>       private static String strErrCode =
> EPHConfig.getProperty("COM_ERRCD_DECRYPT",
> EPHConstants.COMMON_PROP_FILE_NAME);
> 
>       /**
>        * Decrypts the password
>        * @param strEncPwd
>        * @return Decrypted password
>        */
>       public static String decrypt(String strEncPwd)
>       {
>               String strPwd = null;
>               String strErrMsg = null;
>               try
>               {
>                       Encrypt objEncrypt = new Encrypt();
>                       strPwd= objEncrypt.decrypt(strEncPwd);
>               }
>               catch (Exception e)
>               {
>                       if(EPHConfig.LOGDEBUG_FLAG.equals("YES"))
>                       {
>                               
> EPHLogger.logDebug(strReqID,"com.cvs.eph.common.Decryptor", "Common",
> "Unable to decrypt the password:"+e.getMessage());
>                       }
>                       EPHException eph = new EPHException();
>                       strErrMsg = EPHConfig.getProperty("COM_ERRMSG_DECRYPT",
> EPHConstants.COMMON_PROP_FILE_NAME);
>                       eph.setClassName("com.cvs.eph.common.Encryptor");
>                       eph.setErrorCode(strErrCode);
>                       eph.setErrorMsg(strErrMsg);
>                       eph.setExceptionType(EPHConstants.EXPTYPE_SYSTEM);
>                       eph.setSeverity(EPHConstants.LOG_SEV_CRITICAL);
>                       eph.setStackTrace(e.getStackTrace());
>                       System.exit(1);
>               }
>               return strPwd;
>       }
> 
> }
> 
> Pls help me in resolving this issue.
> 
> Regards,
> B.Jayasree
> 

-- 
View this message in context: 
http://www.nabble.com/Urgent-%21%21-Getting-java.lang.SecurityException%3A-Cannot-set-up-certs-for-trusted-CAs-in-Fuse-Projects-tp21543995p21598375.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to