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


11

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 개의 공통 프레임 생략


키 저장소로의 경로를 "큰 따옴표"로 묶고 슬래시로 시도 했습니까? 예server.ssl.key-store="C:\Keystore\mykey.jks"
Tommy Brettschneider

위치를 접두어로 사용해 보셨습니까 file:?
M. Deinum

그래, 난 양쪽 끝하지만 행운을 시도
user2803095

여기 질문이 정확히 무엇입니까?
TylerH

답변:


23

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


9
Spring Boot 2.1.8로 다운 그레이드하여 문제를 해결했습니다.
Pedro Casagrande

2
누구든지 이것에 대한 자세한 정보가 있습니까? 나는 같은 문제가 있었고 예외가 실제로 모호하다는 것을 알았습니다.
Thibstars

이것은이 회귀가 추적되는 문제인 것 같습니다. 이제 문제가 해결되었습니다. github.com/spring-projects/spring-boot/issues/18505
rdguam

7

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


Java 12 및 Spring 2.1.9.RELEASE에서 2.1.8까지 RELEASE도 저에게 효과적이었습니다.
Markus G.

... 페드로는 누구입니까?
TylerH

0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.