From 940f82669ddbb10e90ddb52ad9b7fa82ea04afb8 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Wed, 21 Aug 2024 15:33:21 -0500 Subject: [PATCH] Fix PEM-encoded text trimming of file contents with Windows line endings See gh-41540 --- .../java/org/springframework/boot/ssl/pem/PemContent.java | 6 +----- .../org/springframework/boot/ssl/pem/PemContentTests.java | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/ssl/pem/PemContent.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/ssl/pem/PemContent.java index 3594e26cf23..9ce086db7c7 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/ssl/pem/PemContent.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/ssl/pem/PemContent.java @@ -25,7 +25,6 @@ import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.security.PrivateKey; import java.security.cert.X509Certificate; -import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.regex.Pattern; @@ -35,7 +34,6 @@ import org.springframework.boot.io.ApplicationResourceLoader; import org.springframework.core.io.Resource; import org.springframework.util.Assert; import org.springframework.util.StreamUtils; -import org.springframework.util.StringUtils; /** * PEM encoded content that can provide {@link X509Certificate certificates} and @@ -54,9 +52,7 @@ public final class PemContent { private final String text; private PemContent(String text) { - this.text = Arrays.stream(StringUtils.delimitedListToStringArray(text, "\n")) - .map(String::trim) - .collect(Collectors.joining("\n")); + this.text = text.lines().map(String::trim).collect(Collectors.joining("\n")); } /** diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/pem/PemContentTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/pem/PemContentTests.java index 24748aa4199..b022bd8f491 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/pem/PemContentTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/pem/PemContentTests.java @@ -211,7 +211,7 @@ class PemContentTests { } private static String contentFromClasspath(String path) throws IOException { - return new ClassPathResource(path).getContentAsString(StandardCharsets.UTF_8); + return new ClassPathResource(path).getContentAsString(StandardCharsets.UTF_8).indent(0).stripTrailing(); } }