Java 在使用Spring开发期间需要信任所有证书

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

我阅读了这篇关于以编程方式禁用所有https证书的非常有用的文章。我只需要在开发中使用这种方法。我用的是弹簧。那么,有人知道我如何在spring上下文文件中而不是Java代码中做同样的事情吗? 我指的是代码的这一部分:

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
属性

如果我们被限制使用配置文件,那么最好看看如何在带有依赖项注入的配置文件中实现这一点。