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


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.


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.


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.