Весенний ботинок не поднимать
Я работаю на основе webApi на весенней загрузке 2.0.3 и уже включаю ssl с самозаверяющими сертификатами через application.properties, добавляю новую функцию для проверки локального CRL и настраиваемого trustManager, но весенняя загрузка не выбирает код.
Не могли бы вы помочь выяснить, где проблема? если кто-то может показать, как проверить локальный файл CRL, это также полезно.
Свойства конфигурации, как это.
application.properties:
server.ssl.key-alias=server
server.ssl.key-password=123456
server.ssl.key-store=classpath:serverStore.keystore
server.ssl.key-store-type=jks
server.ssl.client-auth=NEED
server.ssl.trust-store= classpath:trustStore.keystore
server.ssl.trust-store-password=123456
server.ssl.trust-store-type=jks
введите настроенный менеджер доверия, как это:
@Configuration
public class CRLChecker {
@PostConstruct
public void check() throws Exception{
TrustManagerFactory tmf = TrustManagerFactory.getInstance(
TrustManagerFactory.getDefaultAlgorithm());
// Initialise the TMF as you normally would, for example:
tmf.init((KeyStore)null);
TrustManager[] trustManagers = tmf.getTrustManagers();
final X509TrustManager origTrustmanager = (X509TrustManager)trustManagers[0];
TrustManager[] wrappedTrustManagers = new TrustManager[] {
new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return origTrustmanager.getAcceptedIssuers();
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {
origTrustmanager.checkClientTrusted(certs, authType);
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {
//add more my logical code to validate CRL
origTrustmanager.checkServerTrusted(certs, authType);
}
}
};
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, wrappedTrustManagers, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
}