Java 在使用Spring开发期间需要信任所有证书
我阅读了这篇关于以编程方式禁用所有https证书的非常有用的文章。我只需要在开发中使用这种方法。我用的是弹簧。那么,有人知道我如何在spring上下文文件中而不是Java代码中做同样的事情吗? 我指的是代码的这一部分:Java 在使用Spring开发期间需要信任所有证书,java,spring,ssl,configuration,Java,Spring,Ssl,Configuration,我阅读了这篇关于以编程方式禁用所有https证书的非常有用的文章。我只需要在开发中使用这种方法。我用的是弹簧。那么,有人知道我如何在spring上下文文件中而不是Java代码中做同样的事情吗? 我指的是代码的这一部分: SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefault
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
实际上,我可以模拟第一行:
诸如此类:
<bean id="sslContext"
class="javax.net.ssl.SSLContext"
factory-method="getInstance">
<constructor-arg type="java.lang.String" value="SSL" />
</bean>
此外,我还可以创建这个trustAllCerts bean。
但是我弄糊涂了。。可以在spring上下文初始化中调用bean的某个方法吗?我的意思是如何在spring上下文文件中调用sc.init和sc.getSocketFactory?是否不可能?是-您可以使用
init方法
属性。看看但是这个接口是不够的。我建议简单地放置这个代码
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
在您的自定义类中,该类将知道您处于开发模式或WCH中,它将具有这样的init方法。
顺便说一句,调用
getSocketFactory
很简单-这只是获取socketFactory
属性 如果我们被限制使用配置文件,那么最好看看如何在带有依赖项注入的配置文件中实现这一点。