Spring boot 2 embed tomcat 9.0.26 не може завантажити jks файл потоку закритим


11

Я намагаюся використовувати SSL на весняному завантаженні 2.2.0 із вбудованим tomcat 9.0.26, але tomcat не може завантажувати потік файлів JKS закритим.

Ось властивості програми:

server.port=443
server.ssl.key-store-type=JKS
server.ssl.key-store=C:\\Keystore\\mykey.jks
server.ssl.key-store-password=cccc 
server.ssl.key-alias=*.mydomain.com

Виняток:

org.springframework.boot.web.server.WebServerException: Не вдається запустити вбудований сервер Tomcat на org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.ot.2.-2.2. Bont.onter.25-2.2) -ontext. BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] at org.springframework.boot.web.wev.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163 ):63)) -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework.context.support.Ab абстрактApplicationContext.refresh (AbstractApplicationContext.javajanju53) ~ [весна-контекст-5.2.0.jar! /: 5.2.0.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD-SNAPSH.jane : 2.2.0.BUILD-SNAPSHOT] на org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD- SNAPSHOT] на org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework. boot.SpringApplication.run (SpringApplication.java:315) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework.boot.SpringApplication.run (SpringApplication .java: 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] в eu. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [класи! /: 0.0.1-SNAPSHOT] на java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) ~ [na: na] у java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: na] на java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke [DelegatingImpclc.lvc] DelavatingMadalcmpAlcmplc (DelegatingMethodAethod) na: na] на java.base / java.lang.reflect.Method.invoke (Method.javajanju67) ~ [na: na] на org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] на org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] на org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] на org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] Викликано: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector (StandardService.java:231) tomcat-embed-core-9.0.26.jar! /: 9.0.26] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] на org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:197) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] ... 18 загальних кадрів опущено Причинено автор: org.apache.catalina.LifecycleException: Не вдалося запустити обробник протоколу на org.apache.catalina.connector.Connector.startInternal (Connector.java:1008) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] на org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.catalina.core .StandardService.addConnector (StandardService.java:227) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 20 загальних кадрів опущено Викликано: java.lang.IllegalArgumentException: Потік закрито в org.apache.tomcat.util.net.Ab AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:99) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.Ab AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embed-core -9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.Ab абстрактEndpoint.bindWithCleanup (AbstractEndpoint.java:1124) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] у org.apache. tomcat.util.net.Ab абстрактEndpoint.start (AbstractEndpoint.java:1210) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] at org.apache.coyote.Ab абстрактProtocol.start (AbstractProtocol.java : 585) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.catalina.connector.Connector.startInternal (Connector.java:1005) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] ... 22 загальних кадри опущено Викликано: java.io.IOException: Потік закрито на java.base / java.io.BufferedInputStream.getBufIfOpen (BufferedInputStream.java:176) ~ [na: na] на java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ [na: na] на java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na: na] на java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na: na] на java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na: na] на java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ [na: na] на java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na: na] у java. base / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na: na] на java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na: na] at org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:217 ) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:206) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] на org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers (SSLUtilBase.java:283) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] на org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] на org.apache.tomcat .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... опущено 28 загальних кадрів


чи намагалися ви прокласти шлях до вашої сховища ключів у "подвійних лапках" та з одинарними косими рисами? напр.server.ssl.key-store="C:\Keystore\mykey.jks"
Томмі Бреттшнайдер

Ви спробували встановити місце розташування file:?
М. Дейнум

Так, я спробував обидві поради, але не пощастило
user2803095

У чому саме тут питання?
TylerH

Відповіді:


23

Це регресія, введена в Tomcat 9.0.25, яка буде зафіксована в 9.0.27.


9
Перехід на Spring Boot 2.1.8 і це вирішило проблему.
Педро Касагранде

2
Хтось має більше інформації про це? У мене був той самий випуск, і я виявив виняток, кинутий дійсно невиразним.
Thibstars

Це, мабуть, є проблемою, в якій відслідковується цей регрес. Питання закрито. github.com/spring-projects/spring-boot/isissue/18505
rdguam

7

Спасибі Педро. У мене є проблема з Spring Boot 2.1.9. RELEASE і можу підтвердити, що вона вирішена шляхом пониження до 2.1.8.


Java 12 і від Spring 2.1.9.RELEASE до 2.1.8.RELEASE працював і для мене.
Маркус Г.

... хто такий Педро?
TylerH

0

2.1.10.ВИПУСКУВАННЯ також виправляє проблему, показану в 2.1.9.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.