Issue
Was trying to run the Junit tests
- Below is for the Password decryption using org.jasypt.encryption.pbe.StandardPBEStringEncryptor
> Caused by: org.jasypt.exceptions.EncryptionInitializationException: > java.security.NoSuchAlgorithmException: PBEWithMD5AndDES > SecretKeyFactory not available > at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:716) > at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:553) > at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:705) > at com.optum.pdm.nameaddressstandardizer.PropertyFileLoader.getDecryptedValue(PropertyFileLoader.java:104) > ... 29 more > Caused by: java.security.NoSuchAlgorithmException: PBEWithMD5AndDES SecretKeyFactory not available > at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:121) > at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:159) > at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:703) > ... 32 more
- TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
Caused by: java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory not a TrustManagerFactory
at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:258)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:237)
at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
at javax.net.ssl.TrustManagerFactory.getInstance(TrustManagerFactory.java:138)
at com.optum.pdm.util.SSLConnectionHelper.getSslSocketFactory(SSLConnectionHelper.java:41)
at com.optum.pdm.util.SSLConnectionHelper.getSSLContext(SSLConnectionHelper.java:31)
... 33 more
- When I tried with @PowerMockIgnore ("javax.crypto., javax.net.ssl.") on the Junit, It still fails with the Above Password decryption issue
- When I use one @PowerMockIgnore ("javax.crypto.*") on the Junit, it fails with Loading jks problem
Is there any way to fix this kind of issues
Solution
Annotation syntax correction is needed
Incorrect syntax:
@PowerMockIgnore ("javax.crypto.*, javax.net.ssl.*")
Correct syntax that takes multiple items:
@PowerMockIgnore({"org.apache.http.conn.ssl.*", "javax.net.ssl.*" , "javax.crypto.*"})
Answered By - Syed Rafi
Answer Checked By - David Goodson (JavaFixing Volunteer)