设置:
我在我的一个项目中使用 Spring-MVC。我必须访问一个我必须使用自签名证书的 URL。我正在使用以下代码service
来执行此操作,并且一切正常。
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
}};
// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (GeneralSecurityException e) {
LOGGER.error(e);
}
问题:
由于此代码在 my 中service
,因此每次通过 this 发出新请求时都会执行它service
。有没有办法让这段代码只执行一次而不是每次请求?一些带有实际代码的示例将不胜感激。
如果需要更多解释,请发表评论。