当TrustManagerFactory不是TrustManagerFactory(Java)
发布时间:2020-12-14 05:56:06 所属栏目:Java 来源:网络整理
导读:我正在尝试为现有的App-Server(TomCat)产品添加一些额外的JUnit测试.我遇到了(现有和现场)定制TrustManager的问题.这个东西在生产中运行正常,但是在JUnit期间,它会提供异常. 定制的TrustManager仅从路径加载密钥库,并隐含地信任我们自己的公共证书.由于某些
我正在尝试为现有的App-Server(TomCat)产品添加一些额外的JUnit测试.我遇到了(现有和现场)定制TrustManager的问题.这个东西在生产中运行正常,但是在JUnit期间,它会提供异常.
定制的TrustManager仅从路径加载密钥库,并隐含地信任我们自己的公共证书.由于某些原因,在JUnits中使用它将导致以下行中的异常: TrustManagerFactory tmFactory = TrustManagerFactory.getInstance("PKIX"); 例外: java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory not a TrustManagerFactory 无论使用什么提供程序/算法组合(“SunX509”,.getDefaultAlgorithm()等)),都会发生此异常. 任何见解将不胜感激. 解决方法
好吧,看起来像PowerMock混乱了SSL的问题,因此,你遇到装载一个错误的工厂.解决方案是在测试类上使用注释:
@PowerMockIgnore("javax.net.ssl.*") 这是从https://groups.google.com/forum/#!topic/powermock/v4nreP2AnOQ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |