Spring boot 2 embed tomcat 9.0.26 no puede cargar la secuencia de archivos jks cerrada

11

Intento utilizar SSL en Spring Boot 2.2.0 con Tomcat 9.0.26 incorporado, pero Tomcat no puede cargar la secuencia de archivos JKS cerrada.

Aquí están las propiedades de la aplicación:

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

Excepción:

org.springframework.boot.web.server.WebServerException: no se puede iniciar el servidor Tomcat incrustado en org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0) ~ [spring-boot-2.2.0) .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.java:297) 2.2. BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) ~ [spring-boot-2.2.0 spring.boot-2 -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:553) ~ [spring-context-5.2.0.RELEASE.jar! /: 5.2.0.RELEASE] en org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] en org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD- INSTANTÁNEA] en org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework. boot.SpringApplication.run (SpringApplication.java:315) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework.boot.SpringApplication.run (SpringApplication .java: 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en la UE. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [classes! /: 0.0.1-SNAPSHOT] en java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Método nativo) ~ [na: na] en java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: na] en java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.javo ~) na: na] en java.base / java.lang.reflect.Method.invoke (Method.java:567) ~ [na: na] en org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] en org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] en org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] en org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] Causado por: 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] en org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] en 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 marcos comunes omitidos Caused by: org.apache.catalina.LifecycleException: Error al iniciar el controlador de protocolo en org.apache.catalina.connector.Connector.startInternal (Connector.java:1008) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] en org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.catalina.core .StandardService.addConnector (StandardService.java:227) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 20 marcos comunes omitidos Causado por: java.lang.IllegalArgumentException: flujo cerrado en org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:99) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embed-core -9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup (AbstractEndpoint.java:1124) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache. tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:1210) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java : 585) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.catalina.connector.Connector.startInternal (Connector.java:1005) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] ... 22 marcos comunes omitidos Causado por: java.io.IOException: flujo cerrado en java.base / java.io.BufferedInputStream.getBufIfOpen (BufferedInputStream.java:176) ~ [na: na] en java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ [na: na] en java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na: na] en java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na: na] en java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na: na] en java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ [na: na] en java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na: na] en java. base / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na: na] en java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na: na] en org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:217 ) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:206) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] en org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers (SSLUtilBase.java:283) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] en org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] en org.apache.tomcat .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 28 marcos comunes omitidos

user2803095
fuente
¿Has intentado poner el camino a tu almacén de claves en "comillas dobles" y con barras simples? egserver.ssl.key-store="C:\Keystore\mykey.jks"
Tommy Brettschneider
¿Has intentado prefijar la ubicación con file:?
M. Deinum
Sí, probé ambos consejos pero no
tuve
¿Cuál es la pregunta aquí, exactamente?
TylerH

Respuestas:

23

Es una regresión introducida en Tomcat 9.0.25 que se corregirá en 9.0.27.

Mark Thomas
fuente
99
Bajó a Spring Boot 2.1.8 y resolvió el problema.
Pedro Casagrande
2
Alguien tiene más información sobre esto? Tuve el mismo problema y encontré la excepción muy vaga.
Thibstars
Este parece ser el problema donde se rastrea esta regresión. El problema ahora está cerrado. github.com/spring-projects/spring-boot/issues/18505
rdguam
7

Gracias pedro Tengo el problema con Spring Boot 2.1.9.RELEASE y puedo confirmar que se resuelve bajando a 2.1.8.

DarrenK
fuente
Java 12 y desde Spring 2.1.9.RELEASE hasta 2.1.8.RELEASE también funcionaron para mí.
Markus G.
... quien es Pedro?
TylerH
0

2.1.10. RELEASE también corrige el problema visto en 2.1.9.

James
fuente