2014-09-30 3 views
2

У меня есть файлы сертификатов xx.crt и xx.pfx. У меня также есть пароль для xx.pfx. Как настроить этот весенний загрузочный встраиваемый tomcat?Сертификат SSL весной Boot

Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); 
    Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); 
    connector.setScheme("https"); 
    connector.setSecure(true); 
    protocol.setSSLEnabled(true); 
    protocol.setKeystoreFile(??); 
    protocol.setKeyPass(??); 
    protocol.setTruststoreFile(??); 
    return connector; 

ответ

3

Самый простой способ решить эту проблему, чтобы преобразовать файл PFX в JKS с помощью Keytool (keytool.exe на Windows):

keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12 -destkeystore newkeystore.jks -deststoretype JKS 

и использовать protocol.setKeystoreFile() и protocol.setKeyPass(), чтобы загрузить его.

+0

Спасибо! Это сработало очень хорошо. – user3549576

0

Если вы посмотрите на Http11NioProtocol эти методы принимают строковые параметры ... В любом случае здесь родственный вопрос/ответ How can I specify my .keystore file with Spring Boot and Tomcat?

+0

Я прошел через всю документацию и вопросы о стеке. Он частично работает, но затем при копировании через cert в производственные коробки он испортил некоторое форматирование и снова дает исключения IO. Эта проблема также может быть легко обнаружена в stacktrace. Может быть ключевой должен включать преобразование ключа (принятый ответ ниже) в стандартной документации. – user3549576