Spring Boot-включение и настройка SSL-сертификата
у меня есть эти сертификаты / файлы, чтобы включить SSL для моего приложения:
я узнал, что эти свойства необходимы для весенней загрузки, чтобы включить HTTPS:
server.port=8089
server.ssl.enabled=true
server.ssl.key-store=src/main/resources/keystore.p12
server.ssl.key-store-password=****
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat
но это не работает. Теперь мой вопрос: что мне нужно сделать, чтобы заставить его работать? https://abc.lehr.co.at должен быть URL.
[EDIT]
Я создал собственное хранилище ключей - при этом я получаю следующее исключение:
java.io.IOException: Alias name tomcat does not identify a key entry
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:596)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:534)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:363)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:739)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:472)
at org.apache.coyote.http11.Http11NioProtocol.start(Http11NioProtocol.java:81)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:986)
мое хранилище выглядит так:
На самом деле я не знаю, что импортировать в хранилище ключей для встроенного tomcat (Spring Boot).
3 ответов
чтобы включить SSL, необходимо предоставить закрытый ключ, а не доверенный сертификат.
в вашем хранилище ключей "tomcat" должен быть указан как псевдоним для privatekeyentry, а не trustedcertentry.
вы должны упаковать свои закрытые ключи в pfx-файл или P12 с псевдонимами specifiyng. Таким образом, он будет подобран соответственно из хранилища ключей после загрузки материалов.
используйте этот инструмент, чтобы выяснить, какой псевдоним:
keytool -list -storetype pkcs12 -keystore my_debug_keystore.p12 -storepass debug
Я бы предложил вам создать хранилище ключей в формате JKS:
keytool -genkey -keyalg RSA -alias my_alias -keystore keystore.jks -storepass password -validity 360 -keysize 2048
затем добавить конфигурацию:
server.port=8089
server.ssl.enabled=true
server.ssl.key-store=src/main/resources/keystore.jks
server.ssl.key-store-password=****
server.ssl.keyStoreType=JKS
server.ssl.keyAlias=my_alias