Spring boot 2 embed tomcat 9.0.26 ne peut pas charger le flux de fichiers jks fermé

11

J'essaie d'utiliser SSL sur Spring Boot 2.2.0 avec Tomcat 9.0.26 intégré, mais Tomcat ne peut pas charger le flux de fichiers JKS fermé.

Voici les propriétés de l'application:

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

Exception:

org.springframework.boot.web.server.WebServerException: impossible de démarrer le serveur Tomcat intégré à org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.java:297) ~ [spring-boot-2.2.0. BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) ~ [spring-boot-2.2.0.BU.UU -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:553) ~ [spring-context-5.2.0.RELEASE.jar! /: 5.2.0.RELEASE] sur org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] sur org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD- INSTANTANÉ] à 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] sur org.springframework.boot.SpringApplication.run (SpringApplication .java: 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur eu. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [classes! /: 0.0.1-INSTANTANÉ] sur java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (méthode native) ~ [na: na] sur java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: na] sur java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessor) na: na] sur java.base / java.lang.reflect.Method.invoke (Method.java:567) ~ [na: na] sur org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] sur org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] sur org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] sur org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] Causé par: java.lang.IllegalArgumentException: standardService.connector.startFailed sur org.apache.catalina.core.StandardService.addConnector (StandardService.java:231) ~ ~ [ tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] sur 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 images communes omises Causées par: org.apache.catalina.LifecycleException: le démarrage du gestionnaire de protocole a échoué à org.apache.catalina.connector.Connector.startInternal (Connector.java:1008) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] sur org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.catalina.core .StandardService.addConnector (StandardService.java:227) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 20 trames communes omises Causées par: java.lang.IllegalArgumentException: Flux fermé à org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:99) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embed-core -9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup (AbstractEndpoint.java:1124) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache. tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:1210) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java : 585) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.catalina.connector.Connector.startInternal (Connector.java:1005) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] ... 22 trames communes omises Causées par: java.io.IOException: flux fermé à java.base / java.io.BufferedInputStream.getBufIfOpen (BufferedInputStream.java:176) ~ [na: na] à java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ [na: na] sur java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na: na] sur java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na: na] sur java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na: na] sur java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ [na: na] sur java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na: na] sur java. base / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na: na] sur java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na: na] sur org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:217 ) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:206) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] sur org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers (SSLUtilBase.java:283) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] sur org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] sur org.apache.tomcat .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 28 cadres communs omis

user2803095
la source
avez-vous essayé de mettre le chemin d'accès à votre magasin de clés en "guillemets doubles" et avec des barres obliques simples? par exempleserver.ssl.key-store="C:\Keystore\mykey.jks"
Tommy Brettschneider
Avez-vous essayé de préfixer l'emplacement avec file:?
M. Deinum
Oui, j'ai essayé les deux conseils mais pas de chance
user2803095
Quelle est la question ici, exactement?
TylerH

Réponses:

23

Il s'agit d'une régression introduite dans Tomcat 9.0.25 qui sera corrigée dans 9.0.27.

Mark Thomas
la source
9
Rétrogradé à Spring Boot 2.1.8 et il a résolu le problème.
Pedro Casagrande
2
Quelqu'un at-il plus d'informations à ce sujet? J'ai eu le même problème et j'ai trouvé l'exception levée vraiment vague.
Thibstars
Cela semble être le problème où cette régression est suivie. Le problème est désormais clos. github.com/spring-projects/spring-boot/issues/18505
rdguam
7

Merci Pedro. J'ai le problème avec Spring Boot 2.1.9.RELEASE et je peux confirmer qu'il est résolu en rétrogradant à 2.1.8.

DarrenK
la source
Java 12 et de Spring 2.1.9.RELEASE à 2.1.8.RELEASE ont également fonctionné pour moi.
Markus G.
... qui est Pedro?
TylerH
0

2.1.10.RELEASE corrige également le problème rencontré en 2.1.9.

James
la source