Spring boot 2 nhúng tomcat 9.0.26 không thể tải luồng tệp jks đã đóng


11

Tôi cố gắng sử dụng SSL khi khởi động mùa xuân 2.2.0 với tomcat nhúng 9.0.26 nhưng tomcat không thể tải luồng tệp JKS đã đóng.

Đây là thuộc tính ứng dụng:

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

Ngoại lệ:

org.springframework.boot.web.server.WebServerException: Không thể khởi động máy chủ Tomcat nhúng tại org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:215) ~ [spring-boot-2.2 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer (ServletWebServerApplicationContext BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext -SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org.springframework.context.support.AbaugeApplicationContext.refresh (Tóm tắtApplicationContext.java:553) ~ [spring-bối cảnh-5.2.0.RELEASE.jar! /: 5.2.0.RELEASE] tại org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:141) ~ [spring-boot-2.2.0.BUILD : 2.2.0.BUILD-SNAPSHOT] tại org.springframework.boot.SpringApplication.refresh (SpringApplication.java:747) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD- SNAPSHOT] tại org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org. boot.SpringApplication.run (SpringApplication.java:315) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org.springframework.boot.SpringApplication.run .java: 1226) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại org.springframework.boot.SpringApplication.run (SpringApplication.java:1215) ~ [spring-boot-2.2.0.BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại eu. soluma.app.SolumaTdvApplication.main (SolumaTdvApplication.java:34) ~ [class! /: 0.0.1-SNAPSHOT] tại java.base / jdk.i INTERNal.reflect.NativeMethodAccessorImpl.invoke tại java.base / jdk.iternal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: na] tại java.base / jdk.iternal.reflect na: na] tại java.base / java.lang.reflect.Method.invoke (Phương thức.java giáp67) ~ [na: na] tại org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] tại org.springframework.boot.loader.Launcher.launch (Launcher.java:87) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] tại org.springframework.boot.loader. Launcher.launch (Launcher.java:51) ~ [SolumaTDV-0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] tại org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:52) ~ [SolumaTDV -0.0.1-SNAPSHOT.jar: 0.0.1-SNAPSHOT] Nguyên nhân bởi: java.lang.IllegalArgumentException: standardService.connector.startFails tại org.apache.citalina.core.St ChuẩnService.addConnector (StandardService.jadd tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreinglylyRemondConnector (TomcatWebServer.java:278) ~ [spring-boot-2.2.0 .BUILD-SNAPSHOT.jar! /: 2.2.0.BUILD-SNAPSHOT] tại 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 khung hình phổ biến bị bỏ qua by: org.apache.cirthina.LifecyclException: Trình xử lý giao thức bắt đầu thất bại tại org.apache.cirthina.connector.Connector.startI Internalal (Connector.java:1008) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] tại org.apache.cirthina.util.LifecyclBase.start (LifecyclBase.java:183) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.citalina.core .St ChuẩnService.addConnector (StandardService.java:227) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 20 khung hình phổ biến bị bỏ qua Nguyên nhân: java.lang.IllegalArgumentException: Luồng đã đóng tại org.apache.tomcat.util.net.Ab tríchJsseEndpoint.createSSLContext (Tóm tắtJsseEndpoint.java:99) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.AbaugeJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:71) ~ [tomcat-embed-core -9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.NioEndpoint.bind (NioEndpoint.java:218) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.Ab tríchEndpoint.bindWithCleanup (Trừu tượngEndpoint.java:1124) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache. tomcat.util.net.Ab tríchEndpoint.start (Tóm tắtEndpoint.java:1210) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.coyote.Ab tríchProtatio.start (Tóm tắtProtatio.java : 585) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.cirthina.connector.Connector.startI Internalal (Connector.java:1005) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] ... 22 khung hình phổ biến bị bỏ qua Nguyên nhân: java.io.IOException: Luồng đã đóng tại java.base / java.io.BufferedInputStream.getBuf IfOpen (BufferedInputStream.java:176) ~ [na: na] tại java.base / java.io.BufferedInputStream.read (BufferedInputStream.java:342) ~ [na: na] tại java.base / java.io.BufferedInputStream.fill (BufferedInputStream.java:252) ~ [na: na] tại java.base java.io.BufferedInputStream.read (BufferedInputStream.java:271) ~ [na: na] tại java.base / java.security.DigestInputStream.read (DigestInputStream.java:125) ~ [na: na] tại java.base / java.io.DataInputStream.readInt (DataInputStream.java:392) ~ [na: na] tại java.base / sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:659) ~ [na: na] tại java. cơ sở / sun.security.util.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:222) ~ [na: na] tại java.base / java.security.KeyStore.load (KeyStore.java:1472) ~ [na: na] tại org.apache.tomcat.util.security. KeyStoreUtil.load (KeyStoreUtil.java:69) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.SSLUtilBase.getStore (SSLUtilBase.java:2 ) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.SSLhostConfigCert ve.getCert veKeystore (SSLhostConfigCertuler.java:206) ~ [tomcat-embed-core- 9.0.26.jar! /: 9.0.26] tại org.apache.tomcat.util.net.SSLUtilBase.getKeyManager (SSLUtilBase.java:283) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0 .26] tại org.apache.tomcat.util.net.SSLUtilBase.createSSLContext (SSLUtilBase.java:247) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] tại org.apache.tomcat .util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:97) ~ [tomcat-embed-core-9.0.26.jar! /: 9.0.26] ... 28 khung hình phổ biến bị bỏ qua


Bạn đã thử đặt đường dẫn đến kho khóa của mình trong "dấu ngoặc kép" và với dấu gạch chéo chưa? ví dụserver.ssl.key-store="C:\Keystore\mykey.jks"
Tommy Brettschneider

Bạn đã thử đặt tiền tố vị trí với file:?
M. Deinum

Có, tôi đã thử cả hai mẹo nhưng không có may mắn
user2803095

Chính xác câu hỏi ở đây là gì?
TylerH

Câu trả lời:


23

Đó là một hồi quy được giới thiệu trong Tomcat 9.0.25 sẽ được sửa trong 9.0.27.


9
Hạ cấp xuống Spring Boot 2.1.8 và nó đã giải quyết được vấn đề.
Pedro Casagrande

2
Có ai có thêm thông tin về điều này? Tôi đã có cùng một vấn đề và tôi thấy ngoại lệ ném thực sự mơ hồ.
Thibstars

Đây dường như là vấn đề mà hồi quy này được theo dõi. Vấn đề hiện đang đóng cửa. github.com/spring-projects/spring-boot/issues/18505
ndguam

7

Cảm ơn Pedro. Tôi gặp sự cố với Spring Boot 2.1.9.RELEASE và có thể xác nhận rằng nó đã được giải quyết bằng cách hạ cấp xuống 2.1.8.


Java 12 và từ Spring 2.1.9.RELEASE đến 2.1.8.RELEASE cũng làm việc với tôi.
Markus G.

... Pedro là ai?
TylerH

0

2.1.10.RELEASE cũng sửa lỗi đã thấy trong 2.1.9.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.