Весенний ботинок не поднимать

Я работаю на основе 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());
    }
} 

0 ответов

Другие вопросы по тегам