11 Replies Latest reply on Aug 18, 2015 12:35 PM by Bill Robinson

    JSafeJce FIPS Module error

      Can someone who helped solve the crypto lib issue with the following thread please let me know if a newer version of the RSA JSafeJce FIPS module was part of the solution.  I have Version 4.0 of the FIPS module (jar file), but maybe version 5.0, 6.0 or 6.1 (which all seem to be out there) would take care of the problem (?):

       

      BladeLogic Data Migration Manager Issue during upgrade

       

      It's at https://communities.bmc.com/message/512154 and I posted my error log to it a few days ago, along with pertinent sections of my Java security file.  No software changes have been made on my end at all.  I'm simply running an install of the software in a Java 7 JRE.  It installs without a hitch in a Java 6 JRE.

       

      I'm getting the same "No such algorithm" and "Error Constructing Implementation" and "Crypto-J has entered an inoperable state" errors during a Java 6 to Java 7 environment upgrade of software that uses this same FIPS module that BMC uses.  This community blog seems to be the only place I can find that holds some hope for me solving an eerily similar (identical) error I'm having.

       

      Here's what I posted:

       

      I'm having VERY similar issues with a software upgrade (not a BMC product, unfortunately) that uses Version 4.0 of JsafeJceFIPS.jar.  I'm not getting much help from RSA and my internet research on my error keeps leading me to this thread.   I'm going from Java 6 to Java 7.  The install works fine with Java 6 JRE, but with Java 7 JRE, I get the following:

       

      Caused by: java.lang.ExceptionInInitializerError

              at javax.crypto.SecretKeyFactory.nextSpi(SecretKeyFactory.java:294)

              at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:120)

              at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:159)

              at com.solers.security.EncryptionUtils.generateKey(EncryptionUtils.java:225)

              at com.solers.security.EncryptionUtils.getCipher(EncryptionUtils.java:256)

              at com.solers.security.EncryptionUtils.crypt(EncryptionUtils.java:220)

              at com.solers.security.EncryptionUtils.encrypt(EncryptionUtils.java:98)

              at com.solers.security.password.DefaultPasswordProvider.encrypt(DefaultPasswordProvider.java:129)

              at com.solers.security.password.DefaultPasswordProvider.setPassword(DefaultPasswordProvider.java:75)

              at com.solers.delivery.install.PasswordProviderConsole.createPasswordFile(PasswordProviderConsole.java:115)

              at com.solers.delivery.install.SecuritySetupTask.execute(SecuritySetupTask.java:70)

              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

              ... 24 more

      Caused by: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:206)

              at java.security.SecureRandom.<init>(SecureRandom.java:155)

              at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:50)

              ... 40 more

      Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.Provider$Service.newInstance(Provider.java:1259)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)

              at java.security.SecureRandom.getInstance(SecureRandom.java:276)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:198)

              ... 42 more

      Caused by: java.lang.SecurityException: Crypto-J has entered an inoperable state, an internal FIPS 140 self-verification test has failed

              at com.rsa.cryptoj.s.vd.c(Unknown Source)

              at com.rsa.jsafe.provider.JsafeJCE.ensureSelfIntegrity(Unknown Source)

              at com.rsa.cryptoj.s.nn.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

              at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

              at java.security.Provider$Service.newInstance(Provider.java:1240)

              ... 46 more

      --- Nested Exception ---

      /h/efd2.1.1_Solers/setup.xml:100: java.lang.ExceptionInInitializerError

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)

              at org.apache.tools.ant.Task.perform(Task.java:348)

              at org.apache.tools.ant.Target.execute(Target.java:357)

              at org.apache.tools.ant.Target.performTasks(Target.java:385)

              at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)

              at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)

              at org.apache.tools.ant.Project.executeTargets(Project.java:1189)

              at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)

              at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)

              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

              at org.apache.tools.ant.Task.perform(Task.java:348)

              at org.apache.tools.ant.Target.execute(Target.java:357)

              at org.apache.tools.ant.Target.performTasks(Target.java:385)

              at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)

              at org.apache.tools.ant.Project.executeTarget(Project.java:1306)

              at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

              at org.apache.tools.ant.Project.executeTargets(Project.java:1189)

              at org.apache.tools.ant.Main.runBuild(Main.java:758)

              at org.apache.tools.ant.Main.startAnt(Main.java:217)

              at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)

              at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

      Caused by: java.lang.ExceptionInInitializerError

              at javax.crypto.SecretKeyFactory.nextSpi(SecretKeyFactory.java:294)

              at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:120)

              at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:159)

              at com.solers.security.EncryptionUtils.generateKey(EncryptionUtils.java:225)

              at com.solers.security.EncryptionUtils.getCipher(EncryptionUtils.java:256)

              at com.solers.security.EncryptionUtils.crypt(EncryptionUtils.java:220)

              at com.solers.security.EncryptionUtils.encrypt(EncryptionUtils.java:98)

              at com.solers.security.password.DefaultPasswordProvider.encrypt(DefaultPasswordProvider.java:129)

              at com.solers.security.password.DefaultPasswordProvider.setPassword(DefaultPasswordProvider.java:75)

              at com.solers.delivery.install.PasswordProviderConsole.createPasswordFile(PasswordProviderConsole.java:115)

              at com.solers.delivery.install.SecuritySetupTask.execute(SecuritySetupTask.java:70)

              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

              ... 24 more

      Caused by: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:206)

              at java.security.SecureRandom.<init>(SecureRandom.java:155)

              at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:50)

              ... 40 more

      Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.Provider$Service.newInstance(Provider.java:1259)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)

              at java.security.SecureRandom.getInstance(SecureRandom.java:276)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:198)

              ... 42 more

      Caused by: java.lang.SecurityException: Crypto-J has entered an inoperable state, an internal FIPS 140 self-verification test has failed

              at com.rsa.cryptoj.s.vd.c(Unknown Source)

              at com.rsa.jsafe.provider.JsafeJCE.ensureSelfIntegrity(Unknown Source)

              at com.rsa.cryptoj.s.nn.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

              at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

              at java.security.Provider$Service.newInstance(Provider.java:1240)

              ... 46 more

      --- Nested Exception ---

      java.lang.ExceptionInInitializerError

              at javax.crypto.SecretKeyFactory.nextSpi(SecretKeyFactory.java:294)

              at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:120)

              at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:159)

              at com.solers.security.EncryptionUtils.generateKey(EncryptionUtils.java:225)

              at com.solers.security.EncryptionUtils.getCipher(EncryptionUtils.java:256)

              at com.solers.security.EncryptionUtils.crypt(EncryptionUtils.java:220)

              at com.solers.security.EncryptionUtils.encrypt(EncryptionUtils.java:98)

              at com.solers.security.password.DefaultPasswordProvider.encrypt(DefaultPasswordProvider.java:129)

              at com.solers.security.password.DefaultPasswordProvider.setPassword(DefaultPasswordProvider.java:75)

              at com.solers.delivery.install.PasswordProviderConsole.createPasswordFile(PasswordProviderConsole.java:115)

              at com.solers.delivery.install.SecuritySetupTask.execute(SecuritySetupTask.java:70)

              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

              at org.apache.tools.ant.Task.perform(Task.java:348)

              at org.apache.tools.ant.Target.execute(Target.java:357)

              at org.apache.tools.ant.Target.performTasks(Target.java:385)

              at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)

              at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)

              at org.apache.tools.ant.Project.executeTargets(Project.java:1189)

              at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)

              at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)

              at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)

              at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:606)

              at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

              at org.apache.tools.ant.Task.perform(Task.java:348)

              at org.apache.tools.ant.Target.execute(Target.java:357)

              at org.apache.tools.ant.Target.performTasks(Target.java:385)

              at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)

              at org.apache.tools.ant.Project.executeTarget(Project.java:1306)

              at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

              at org.apache.tools.ant.Project.executeTargets(Project.java:1189)

              at org.apache.tools.ant.Main.runBuild(Main.java:758)

              at org.apache.tools.ant.Main.startAnt(Main.java:217)

              at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)

              at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

      Caused by: java.lang.RuntimeException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:206)

              at java.security.SecureRandom.<init>(SecureRandom.java:155)

              at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:50)

              ... 40 more

      Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: FIPS186PRNG, provider: JsafeJCE, class: com.rsa.cryptoj.s.c)

              at java.security.Provider$Service.newInstance(Provider.java:1259)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)

              at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)

              at java.security.SecureRandom.getInstance(SecureRandom.java:276)

              at java.security.SecureRandom.getDefaultPRNG(SecureRandom.java:198)

              ... 42 more

      Caused by: java.lang.SecurityException: Crypto-J has entered an inoperable state, an internal FIPS 140 self-verification test has failed

              at com.rsa.cryptoj.s.vd.c(Unknown Source)

              at com.rsa.jsafe.provider.JsafeJCE.ensureSelfIntegrity(Unknown Source)

              at com.rsa.cryptoj.s.nn.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at com.rsa.cryptoj.s.c.<init>(Unknown Source)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

              at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

              at java.security.Provider$Service.newInstance(Provider.java:1240)

              ... 46 more

       

      I suspect I need a more recent (V 5.0 or 6.0 of the RSA BSAFE Crypto-J library that resides in the aforementioned JAR file.  I'd like to know if this is on the right track or completely un-related to your other customer's error.