Хочу представить протокол HTTPS (доверенный сертификат) моему приложению Spring Boot (1.3.2.RELEASE). Для этого попробовали следующие свойства SSL:

server.ssl.trust-store=classpath:key.jks
server.ssl.trust-store-password=pass

И есть ошибка:

Caused by: java.lang.IllegalArgumentException: Resource location must not be null
at org.springframework.util.Assert.notNull(Assert.java:115) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.util.ResourceUtils.getURL(ResourceUtils.java:131) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.configureSslKeyStore(TomcatEmbeddedServletContainerFactory.java:340) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.configureSsl(TomcatEmbeddedServletContainerFactory.java:323) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]

В этой ошибке вы видите, что необходимо передать configureSslKeyStore . Когда я пытаюсь запустить приложение со следующим набором изменений:

server.ssl.key-store=classpath:key.jks
server.ssl.key-store-password=pass
server.ssl.trust-store=classpath:key.jks
server.ssl.trust-store-password=pass

Приложение запускается успешно, но https недоступен: введите описание изображения здесь

Итак, теперь у меня есть несколько вопросов:

  • В чем может быть причина такого поведения, что протокол не поддерживается? (Сертификат свежий и не устарел)
  • Верно ли, что невозможно настроить доверенный сертификат без избыточных свойств?
  • Есть ли другой более удобный способ настроить доверенный SSL?

ОБНОВЛЕНИЕ:

Это файл JAR, внутри которого находится сертификат classpath: key.jks "".

0
Speise 6 Июл 2017 в 23:16
Добавьте шаги, которые вы предприняли для импорта сертификата И соответствующего закрытого ключа в файл jks.
 – 
Strelok
7 Июл 2017 в 04:46
И скажите нам, где в файле .war находится файл key.jks. NB. Вы не должны использовать один и тот же файл как в хранилище ключей, так и в хранилище доверенных сертификатов. Они служат совершенно разным целям.
 – 
user207421
7 Июл 2017 в 08:02
Сертификат существует внутри файла JAR весенней загрузки, а не в WAR. "соответствие закрытого ключа jks?" Не могли бы вы объяснить, что вы имеете в виду?
 – 
Speise
7 Июл 2017 в 09:07
«Итак, скажите нам, где в загрузочном JAR-файле Spring находится key.jks». Это вопрос: server.ssl.trust-store = classpath: key.jks
 – 
Speise
7 Июл 2017 в 11:02
Путь к классам: key.jks. Абсолютный путь: C: \ project \ src \ main \ resources \ key.jks. Может ли это повлиять на мою проблему?
 – 
Speise
7 Июл 2017 в 11:09

1 ответ

Лучший ответ

Причина была в моем файле .jks. Он был сгенерирован неверным способом. Вот ссылка, по которой вы можете найти правильное строение этажных ключей.

2
Speise 16 Июл 2017 в 21:27