加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

当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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读