[java] Spring Boot 2 Embedded Tomcat 9.0.26은 jks 파일 스트림을로드 할 수 없습니다.

Tomcat 9.0.26이 포함 된 스프링 부트 2.2.0에서 SSL을 사용하려고하지만 tomcat이 닫힌 JKS 파일 스트림을로드 할 수 없습니다.

응용 프로그램 속성은 다음과 같습니다.

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

예외:

org.springframework.boot.web.server.WebServerException : org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2.0에서 내장 Tomcat 서버를 시작할 수 없습니다. org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext.java:297) ~ [spring-boot-2.2.0. .BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:163) ~ [spring-boot-2.2.0.BUILD] -SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:553) ~ [spring-context-5.2.0.RELEASE.jar! / : 5.2.0.RELEASE] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD- SNAPSHOT] 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] org.springframework.boot.SpringApplication.run (SpringApplication) .java : 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT] eu. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [classes! / : 0.0.1-SNAPSHOT] java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (네이티브 메소드) ~ [na : na] java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na : na] at java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na na : na] java.base / java.lang.reflect.Method.invoke (Method.java:567) ~ [na : na] org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar : 0.0.1-SNAPSHOT]의 org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar : 0.0.1-SNAPSHOT]의 org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar : 0.0.1-SNAPSHOT] org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar : 0.0.1-SNAPSHOT] 원인 : java.lang.IllegalArgumentException : standardService.connector.start org.apache.catalina.core.StandardService.addConnector (StandardService.java:231) ~에서 실패했습니다. tomcat-embed-core-9.0.26.jar! / : 9.0.26] org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! / : 2.2.0.BUILD-SNAPSHOT]의 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 개의 공통 프레임이 생략 됨 org.apache.catalina.LifecycleException : org.apache.catalina.connector.Connector.startInternal (Connector.java:1008) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0에서 프로토콜 핸들러 시작에 실패했습니다. .26] org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] org.apache.catalina.core에서 .StandardService.addConnector (StandardService.java:227) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] … 20 개의 공통 프레임 생략 원인 : java.lang.IllegalArgumentException : org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java :99) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embed-core -9.0.26.jar! / : 9.0.26] org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26]에서 org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup (AbstractEndpoint.java:1124) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26]에서 org.apache로. tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:1210) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] at org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java : 585) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] org.apache.catalina.connector.Connector.startInternal (Connector.java:1005) ~ [tomcat-embed-core- 9.0.26.jar! / : 9.0.26] … 22 개의 공통 프레임이 생략 됨 원인 : java.io.IOException : 스트림이 java.base / java.io.BufferedInputStream.getBufIfOpen (BufferedInputStream.java:176)에서 닫혔습니다. ~ [na : na] at java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na : na] java.base /에서 java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na : na] at java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na : na] at java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ java : java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na : na] java. base / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na : na] at java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na : na] at org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:217) ) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] (org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:206)) ~ [tomcat-embed-core- 9.0.26.jar! / : 9.0.26] org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers (SSLUtilBase.java:283) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0 .26] org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] org.apache.tomcat에서 .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embed-core-9.0.26.jar! / : 9.0.26] … 28 개의 공통 프레임 생략



답변

Tomcat 9.0.25에서 소개 된 회귀는 9.0.27에서 수정 될 것입니다.


답변

고마워 페드로 Spring Boot 2.1.9.RELEASE에 문제가 있으며 2.1.8로 다운 그레이드하여 해결할 수 있음을 확인할 수 있습니다.


답변

2.1.10. 릴리스는 또한 2.1.9에서 보여지는 문제를 해결합니다.


답변