2017-09-01 36 views
0

PowerMock问题试图运行JUnit测试与SSL&StandardPBEStringEncryptor

  1. 下面是使用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 
密码解密
  1. 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 
  1. 当我试图用@PowerMockIgnore(“javax.crypto中。 ,javax.net.ssl。“)上了JUnit,它仍然失败,以上密码解密问题
  2. 当我使用一个@PowerMockIgnore(”关于Junit的javax.crypto中。*“),它失败加载JKS问题

有没有什么办法来解决这种

回答

0

注释修正需要

它的问题不@PowerMockIgnore(“javax.crypto中。,javax.net.ssl中。”) 这是只取一个在这个案子但是当我们宣布贝尔ow one需要多个项目

@PowerMockIgnore({“org.apache.http.conn.ssl。 “,”javax.net.ssl。“,”javax.crypto。*“})