OAM 11g: Authentication Plugin Runs in NoSuchAlgorithmException By Using An Specific SecretKeyFactory

(Doc ID 1571565.1)

Last updated on SEPTEMBER 21, 2016

Applies to:

Oracle Access Manager - Version 11.1.2.0.0 and later
Information in this document applies to any platform.

Goal

Using the PBEWithMD5AndDES encryption class in the OAM authentication plugin produces this error :

[2013-06-04T02:16:21.743-05:00] [oam_server1] [WARNING] [] [oracle.oam.engine.authn] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ] [ecid: 004r^vRg3v_3n3WjLxuHOA0001ST00000K,0:2] [APP: oam_server#11.1.2.0.0] [URI: /oam/server/auth_cred_submit] Plugin Execution Failed.[[
org.jasypt.exceptions.EncryptionInitializationException: java.security.NoSuchAlgorithmException: class configured for SecretKeyFactory: com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES not a SecretKeyFactory
  at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:708)
  at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:553)
  at extensibility.plugins.BAKeystore.(BAKeystore.java:169)
  at extensibility.plugins.BAKeystore.getInstance(BAKeystore.java:70)
  at extensibility.plugins.BAPBEPlugin.process(BAPBEPlugin.java:113)
  at oracle.security.am.engine.authn.internal.executor.PlugInExecutor.execute(PlugInExecutor.java:197)
  at oracle.security.am.engine.authn.internal.executor.AuthenticationSchemeExecutor.execute(AuthenticationSchemeExecutor.java:101)
  at oracle.security.am.engine.authn.internal.controller.AuthenticationEngineControllerImpl.validateUser(AuthenticationEngineControllerImpl.java:265)
...
  at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.security.NoSuchAlgorithmException: class configured for SecretKeyFactory: com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES not a SecretKeyFactory
  at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:242)
  at sun.security.jca.GetInstance.getInstance(GetInstance.java:221)
  at javax.crypto.SunJCE_b.a(DashoA13*..)
  at javax.crypto.SecretKeyFactory.getInstance(DashoA13*..)
  at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:681)
  ... 46 more


How could we solve this?
 

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms