Ich versuche, SSL auf Spring Boot 2.2.0 mit eingebettetem Tomcat 9.0.26 zu verwenden, aber Tomcat kann den geschlossenen JKS-Dateistream nicht laden.
Hier sind die Anwendungseigenschaften:
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
Ausnahme:
org.springframework.boot.web.server.WebServerException: Eingebetteter Tomcat-Server kann nicht unter org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0 gestartet werden .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.java:297) ~ [spring-boot-2.0. BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) ~ [spring-boot-2.2.U -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:553) ~ [spring-context-5.2.0.RELEASE.jar! /: 5.2.0.RELEASE] unter org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] unter org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD- SNAPSHOT] unter org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter org.springframework. boot.SpringApplication.run (SpringApplication.java:315) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter org.springframework.boot.SpringApplication.run (SpringApplication .java: 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] bei org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] bei eu. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [Klassen! /: 0.0.1-SNAPSHOT] unter java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) ~ [na: na] at java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: na] at java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccess. na: na] bei java.base / java.lang.reflect.Method.invoke (Method.java:567) ~ [na: na] bei org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] unter org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] unter org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] unter org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] Auslöser: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector (StandardService.java:231) ~ [ tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviousRemovedConnectors (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] unter 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 allgemeine Frames weggelassen Caused von: org.apache.catalina.LifecycleException: Start des Protokollhandlers bei org.apache.catalina.connector.Connector.startInternal (Connector.java:1008) fehlgeschlagen ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0 .26] unter org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.catalina.core .StandardService.addConnector (StandardService.java:227) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] ... 20 allgemeine Frames weggelassen Auslöser: java.lang.IllegalArgumentException: Stream geschlossen um org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:99) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embedded-core -9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup (AbstractEndpoint.java:1124) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache. tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:1210) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java) : 585) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.catalina.connector.Connector.startInternal (Connector.java:1005) ~ [tomcat-embedded-core- 9.0.26.jar! /: 9.0.26] ... 22 allgemeine Frames weggelassen Auslöser: java.io.IOException: Stream geschlossen unter java.base / java.io.BufferedInputStream.getBufIfOpen (BufferedInputStream.java:176) ~ [na: na] at java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ [na: na] bei java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na: na] bei java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na: na] bei java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na: na] bei java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ [na: na] bei java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na: na] bei Java. base / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na: na] unter java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na: na] unter org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:217) ) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:206) ~ [tomcat-embedded-core- 9.0.26.jar! /: 9.0.26] unter org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers (SSLUtilBase.java:283) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0 .26] unter org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] unter org.apache.tomcat .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embedded-core-9.0.26.jar! /: 9.0.26] ... 28 allgemeine Frames wurden weggelassen
quelle
server.ssl.key-store="C:\Keystore\mykey.jks"
file:
?Antworten:
Es handelt sich um eine in Tomcat 9.0.25 eingeführte Regression, die in 9.0.27 behoben wird.
quelle
Danke Pedro. Ich habe das Problem mit Spring Boot 2.1.9.RELEASE und kann bestätigen, dass es durch ein Downgrade auf 2.1.8 behoben wurde.
quelle
2.1.10.RELEASE behebt auch das in 2.1.9 gezeigte Problem.
quelle