From 1a72f317724e72849a993720c5c43396fb084398 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 1 Aug 2018 14:33:28 +0100 Subject: [PATCH] Strip out new lines from PEM encoded data Fixes gh-72 --- .../command/encrypt/BaseEncryptOptionHandler.java | 12 ++++++------ .../cli/command/encrypt/DecryptCommandTests.java | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/command/encrypt/BaseEncryptOptionHandler.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/command/encrypt/BaseEncryptOptionHandler.java index f26b8e5..bd3deca 100644 --- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/command/encrypt/BaseEncryptOptionHandler.java +++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/command/encrypt/BaseEncryptOptionHandler.java @@ -15,15 +15,10 @@ */ package org.springframework.cloud.cli.command.encrypt; -import static java.util.Arrays.asList; - import java.io.File; import java.io.FileInputStream; import java.nio.charset.Charset; -import joptsimple.OptionSet; -import joptsimple.OptionSpec; - import org.springframework.boot.cli.command.options.OptionHandler; import org.springframework.boot.cli.util.Log; import org.springframework.core.io.FileSystemResource; @@ -32,6 +27,11 @@ import org.springframework.security.rsa.crypto.KeyStoreKeyFactory; import org.springframework.security.rsa.crypto.RsaSecretEncryptor; import org.springframework.util.StreamUtils; +import static java.util.Arrays.asList; + +import joptsimple.OptionSet; +import joptsimple.OptionSpec; + class BaseEncryptOptionHandler extends OptionHandler { private OptionSpec keyOption; @@ -104,7 +104,7 @@ class BaseEncryptOptionHandler extends OptionHandler { catch (Exception e) { // not a file } - return new EncryptorFactory(verbose).create(value.trim()); + return new EncryptorFactory(verbose).create(value.trim().replaceAll("\n", "")); } private String readFile(String filename) { diff --git a/spring-cloud-cli/src/test/java/org/springframework/cloud/cli/command/encrypt/DecryptCommandTests.java b/spring-cloud-cli/src/test/java/org/springframework/cloud/cli/command/encrypt/DecryptCommandTests.java index eb06c01..e7d7e12 100644 --- a/spring-cloud-cli/src/test/java/org/springframework/cloud/cli/command/encrypt/DecryptCommandTests.java +++ b/spring-cloud-cli/src/test/java/org/springframework/cloud/cli/command/encrypt/DecryptCommandTests.java @@ -15,18 +15,18 @@ */ package org.springframework.cloud.cli.command.encrypt; -import static org.junit.Assert.assertEquals; - import java.nio.charset.Charset; -import org.junit.Ignore; import org.junit.Test; + import org.springframework.boot.cli.command.status.ExitStatus; import org.springframework.core.io.ClassPathResource; import org.springframework.security.rsa.crypto.KeyStoreKeyFactory; import org.springframework.security.rsa.crypto.RsaSecretEncryptor; import org.springframework.util.StreamUtils; +import static org.junit.Assert.assertEquals; + /** * @author Dave Syer * @@ -42,11 +42,11 @@ public class DecryptCommandTests { } @Test - @Ignore //FIXME: 2.0.x public void decryptsFromRsaKey() throws Exception { - RsaSecretEncryptor encryptor = new RsaSecretEncryptor(StreamUtils.copyToString( - new ClassPathResource("private.pem").getInputStream(), - Charset.forName("UTF-8"))); + RsaSecretEncryptor encryptor = new RsaSecretEncryptor(StreamUtils + .copyToString(new ClassPathResource("private.pem").getInputStream(), + Charset.forName("UTF-8")) + .replaceAll("\n", "")); String cipher = encryptor.encrypt("foo"); assertEquals(ExitStatus.OK, command.run("-k", "@src/test/resources/private.pem", cipher));