Spring Boot 2 Embed Tomcat 9.0.26 kann jks Dateistream nicht geschlossen laden


11

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


Haben Sie versucht, den Pfad zu Ihrem Keystore in "doppelten Anführungszeichen" und mit einfachen Schrägstrichen zu setzen? zBserver.ssl.key-store="C:\Keystore\mykey.jks"
Tommy Brettschneider

Haben Sie versucht, dem Standort ein Präfix voranzustellen file:?
M. Deinum

Ja, ich habe beide Tipps ausprobiert, aber kein Glück
user2803095

Was genau ist hier die Frage?
TylerH

Antworten:



7

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.


Java 12 und von Spring 2.1.9.RELEASE bis 2.1.8.RELEASE funktionierten auch für mich.
Markus G.

... wer ist Pedro?
TylerH

0

2.1.10.RELEASE behebt auch das in 2.1.9 gezeigte Problem.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.