- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试向现有的应用程序服务器 (TomCat) 产品添加一些额外的 JUnit 测试。我遇到了(现有的和已部署的)自定义 TrustManager 的问题。这东西在生产中工作正常,但在 JUnit 中,给出异常。
定制的 TrustManager 仅从路径加载 keystore ,并隐含地信任我们自己的公共(public)证书。出于某种原因,在 JUnits 中使用它会导致以下行出现异常:
TrustManagerFactory tmFactory = TrustManagerFactory.getInstance("PKIX");
异常(exception):
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
关于java - 当 TrustManagerFactory 不是 TrustManagerFactory (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14654639/
我正在尝试向现有的应用程序服务器 (TomCat) 产品添加一些额外的 JUnit 测试。我遇到了(现有的和已部署的)自定义 TrustManager 的问题。这东西在生产中工作正常,但在 JUnit
我正在使用一个库连接到 Azure,它使用 okhttp3 来处理连接。该库的一部分调用 okhttp3.internal.Util#platformTrustManager: public sta
我的应用程序有一个个人 keystore ,其中包含用于本地网络的受信任的自签名证书 - 比如 mykeystore.jks。我希望能够使用本地提供的自签名证书连接到公共(public)站点(比如 g
我有一个 SSLSocketFactory 和一个 TrustManagerFactory,如下所示: TrustManagerFactory tmf = TrustManagerFactory.ge
我已经根据安装指南设置了 Elasticsearch、Kibana 和 X-pack,并确保它们按预期工作。现在我想使用 X-Pack 中的观察者发送 Kibana 报告。我关注了this tutor
我正在研究 TrustStrategy 以与 RestTemplate 结合使用。在 isTrusted 方法中,检查(打印)的证书与 TrustManagerFactory 中定义的证书不同(此处打
我从分析中注意到,当构建器正在创建我的 OkHttpClient 时,TrustManagerFactory.getTrustManagers 似乎需要很长时间并且阻塞了我的 UI 线程在启动时。完成
我刚刚从以前的 rc5 更新到 reSTLet rc6。 Android 应用程序对外部 URL 进行简单的 https 调用。 在 rc5 中一切正常,在 rc6 中我现在得到以下错误: 08-30
我正在阅读 https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLCont
我在 JBoss 4.2.2 容器中的 Java 组件试图访问 SSL 网络服务,但出现异常(不重要,功能正常,从 ssl 网络服务检索响应)。 操作系统:AIX java : > /usr/java
我是一名优秀的程序员,十分优秀!