Skip to content

Commit ff43ffa

Browse files
committed
Move off deprecated Base64Utils.
Closes gh-874
1 parent 3f3bc8a commit ff43ffa

File tree

10 files changed

+37
-31
lines changed

10 files changed

+37
-31
lines changed

spring-vault-core/src/main/java/org/springframework/vault/authentication/AwsIamAuthentication.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.springframework.vault.authentication;
1717

1818
import java.io.ByteArrayInputStream;
19+
import java.util.Base64;
1920
import java.util.Collections;
2021
import java.util.HashMap;
2122
import java.util.LinkedHashMap;
@@ -37,7 +38,6 @@
3738
import org.springframework.http.HttpHeaders;
3839
import org.springframework.http.MediaType;
3940
import org.springframework.util.Assert;
40-
import org.springframework.util.Base64Utils;
4141
import org.springframework.util.ObjectUtils;
4242
import org.springframework.util.StringUtils;
4343
import org.springframework.vault.VaultException;
@@ -80,7 +80,8 @@ public class AwsIamAuthentication implements ClientAuthentication, Authenticatio
8080

8181
private static final String REQUEST_BODY = "Action=GetCallerIdentity&Version=2011-06-15";
8282

83-
private static final String REQUEST_BODY_BASE64_ENCODED = Base64Utils.encodeToString(REQUEST_BODY.getBytes());
83+
private static final String REQUEST_BODY_BASE64_ENCODED = Base64.getEncoder()
84+
.encodeToString(REQUEST_BODY.getBytes());
8485

8586
private final AwsIamAuthenticationOptions options;
8687

@@ -195,12 +196,13 @@ private static Map<String, String> createRequestBody(AwsIamAuthenticationOptions
195196
Map<String, String> login = new HashMap<>();
196197

197198
login.put("iam_http_request_method", "POST");
198-
login.put("iam_request_url", Base64Utils.encodeToString(options.getEndpointUri().toString().getBytes()));
199+
login.put("iam_request_url",
200+
Base64.getEncoder().encodeToString(options.getEndpointUri().toString().getBytes()));
199201
login.put("iam_request_body", REQUEST_BODY_BASE64_ENCODED);
200202

201203
String headerJson = getSignedHeaders(options, credentials, region);
202204

203-
login.put("iam_request_headers", Base64Utils.encodeToString(headerJson.getBytes()));
205+
login.put("iam_request_headers", Base64.getEncoder().encodeToString(headerJson.getBytes()));
204206

205207
if (!ObjectUtils.isEmpty(options.getRole())) {
206208
login.put("role", options.getRole());

spring-vault-core/src/main/java/org/springframework/vault/authentication/PcfAuthentication.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.time.Clock;
2121
import java.time.LocalDateTime;
2222
import java.time.format.DateTimeFormatter;
23+
import java.util.Base64;
2324
import java.util.HashMap;
2425
import java.util.Map;
2526

@@ -32,7 +33,6 @@
3233
import org.bouncycastle.crypto.signers.PSSSigner;
3334

3435
import org.springframework.util.Assert;
35-
import org.springframework.util.Base64Utils;
3636
import org.springframework.vault.VaultException;
3737
import org.springframework.vault.support.PemObject;
3838
import org.springframework.vault.support.VaultResponse;
@@ -165,7 +165,8 @@ private static String doSign(byte[] message, String instanceKeyPem) throws Crypt
165165
signer.update(message, 0, message.length);
166166

167167
byte[] signature = signer.generateSignature();
168-
return Base64Utils.encodeToUrlSafeString(signature);
168+
169+
return Base64.getUrlEncoder().encodeToString(signature);
169170
}
170171

171172
}

spring-vault-core/src/main/java/org/springframework/vault/core/VaultTransformTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
package org.springframework.vault.core;
1717

1818
import java.util.ArrayList;
19+
import java.util.Base64;
1920
import java.util.Collections;
2021
import java.util.LinkedHashMap;
2122
import java.util.List;
2223
import java.util.Map;
2324

2425
import org.springframework.util.Assert;
25-
import org.springframework.util.Base64Utils;
2626
import org.springframework.util.ObjectUtils;
2727
import org.springframework.util.StringUtils;
2828
import org.springframework.vault.VaultException;
@@ -180,7 +180,7 @@ private static void applyTransformOptions(VaultTransformContext context, Map<Str
180180
}
181181

182182
if (!ObjectUtils.isEmpty(context.getTweak())) {
183-
request.put("tweak", Base64Utils.encodeToString(context.getTweak()));
183+
request.put("tweak", Base64.getEncoder().encodeToString(context.getTweak()));
184184
}
185185
}
186186

@@ -260,7 +260,7 @@ private static TransformCiphertext toCiphertext(Map<String, ?> data, VaultTransf
260260

261261
VaultTransformContext contextToUse = context;
262262
if (data.containsKey("tweak")) {
263-
byte[] tweak = Base64Utils.decodeFromString((String) data.get("tweak"));
263+
byte[] tweak = Base64.getDecoder().decode((String) data.get("tweak"));
264264
contextToUse = VaultTransformContext.builder()
265265
.transformation(context.getTransformation())
266266
.tweak(tweak)

spring-vault-core/src/main/java/org/springframework/vault/security/VaultBytesKeyGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
*/
1616
package org.springframework.vault.security;
1717

18+
import java.util.Base64;
1819
import java.util.Collections;
1920

2021
import org.springframework.security.crypto.keygen.BytesKeyGenerator;
2122
import org.springframework.util.Assert;
22-
import org.springframework.util.Base64Utils;
2323
import org.springframework.vault.core.VaultOperations;
2424
import org.springframework.vault.support.VaultResponse;
2525

@@ -82,7 +82,7 @@ public byte[] generateKey() {
8282
Collections.singletonMap("format", "base64"));
8383

8484
String randomBytes = (String) response.getRequiredData().get("random_bytes");
85-
return Base64Utils.decodeFromString(randomBytes);
85+
return Base64.getDecoder().decode(randomBytes);
8686
}
8787

8888
}

spring-vault-core/src/main/java/org/springframework/vault/support/Certificate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
import java.security.cert.X509Certificate;
2323
import java.time.Instant;
2424
import java.util.ArrayList;
25+
import java.util.Base64;
2526
import java.util.List;
2627

2728
import com.fasterxml.jackson.annotation.JsonProperty;
2829

2930
import org.springframework.lang.Nullable;
3031
import org.springframework.util.Assert;
31-
import org.springframework.util.Base64Utils;
3232
import org.springframework.vault.VaultException;
3333

3434
/**
@@ -227,7 +227,7 @@ static List<X509Certificate> getCertificates(String certificates) throws Certifi
227227
}
228228
}
229229
else {
230-
result.addAll(KeystoreUtil.getCertificates(Base64Utils.decodeFromString(certificates)));
230+
result.addAll(KeystoreUtil.getCertificates(Base64.getDecoder().decode(certificates)));
231231
}
232232

233233
return result;

spring-vault-core/src/main/java/org/springframework/vault/support/CertificateBundle.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.security.cert.X509Certificate;
2222
import java.security.spec.KeySpec;
2323
import java.util.ArrayList;
24+
import java.util.Base64;
2425
import java.util.Collections;
2526
import java.util.List;
2627
import java.util.Locale;
@@ -30,7 +31,6 @@
3031

3132
import org.springframework.lang.Nullable;
3233
import org.springframework.util.Assert;
33-
import org.springframework.util.Base64Utils;
3434
import org.springframework.vault.VaultException;
3535

3636
/**
@@ -319,7 +319,7 @@ private static KeySpec getPrivateKey(String privateKey, String keyType)
319319
throw new IllegalArgumentException("No private key found in PEM-encoded key spec");
320320
}
321321

322-
return getPrivateKey(Base64Utils.decodeFromString(privateKey), keyType);
322+
return getPrivateKey(Base64.getDecoder().decode(privateKey), keyType);
323323
}
324324

325325
private static KeySpec getPrivateKey(byte[] privateKey, String keyType)

spring-vault-core/src/main/java/org/springframework/vault/support/PemObject.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424
import java.security.spec.RSAPrivateCrtKeySpec;
2525
import java.security.spec.RSAPublicKeySpec;
2626
import java.util.ArrayList;
27+
import java.util.Base64;
2728
import java.util.Collections;
2829
import java.util.List;
2930
import java.util.regex.Matcher;
3031
import java.util.regex.Pattern;
3132

3233
import org.springframework.lang.Nullable;
3334
import org.springframework.util.Assert;
34-
import org.springframework.util.Base64Utils;
3535

3636
/**
3737
* Represents a PEM object that is internally decoded to a DER object. Typically, used to
@@ -56,7 +56,7 @@ private PemObject(PemObjectType objectType, String content) {
5656

5757
this.objectType = objectType;
5858
String sanitized = content.replaceAll("\r", "").replaceAll("\n", "");
59-
this.content = Base64Utils.decodeFromString(sanitized);
59+
this.content = Base64.getDecoder().decode(sanitized);
6060
}
6161

6262
/**

spring-vault-core/src/main/java/org/springframework/vault/support/PlaintextToBase64StringConverter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.springframework.vault.support;
1717

1818
import com.fasterxml.jackson.databind.util.StdConverter;
19-
import org.springframework.util.Base64Utils;
2019

2120
import java.util.Base64;
2221

spring-vault-core/src/test/java/org/springframework/vault/core/VaultTemplateTransformIntegrationTests.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.springframework.beans.factory.annotation.Autowired;
2525
import org.springframework.test.context.ContextConfiguration;
2626
import org.springframework.test.context.junit.jupiter.SpringExtension;
27-
import org.springframework.util.Base64Utils;
2827
import org.springframework.vault.support.VaultMount;
2928
import org.springframework.vault.support.VaultResponse;
3029
import org.springframework.vault.util.IntegrationTestSupport;
@@ -33,6 +32,8 @@
3332

3433
import static org.assertj.core.api.Assertions.assertThat;
3534

35+
import java.util.Base64;
36+
3637
/**
3738
* Integration tests for {@link VaultTemplate} using the {@code transform} backend.
3839
*
@@ -77,8 +78,9 @@ void tearDown() {
7778
@Test
7879
void shouldEncode() {
7980

80-
VaultResponse response = this.vaultOperations.write("transform/encode/myrole", String.format(
81-
"{\"value\": \"123-45-6789\", \"tweak\": \"%s\"}", Base64Utils.encodeToString("somenum".getBytes())));
81+
VaultResponse response = this.vaultOperations.write("transform/encode/myrole",
82+
String.format("{\"value\": \"123-45-6789\", \"tweak\": \"%s\"}",
83+
Base64.getEncoder().encodeToString("somenum".getBytes())));
8284

8385
assertThat((String) response.getRequiredData().get("encoded_value")).isNotEmpty();
8486
}
@@ -87,12 +89,14 @@ void shouldEncode() {
8789
void shouldEncodeAndDecode() {
8890

8991
String value = "123-45-6789";
90-
VaultResponse response = this.vaultOperations.write("transform/encode/myrole", String
91-
.format("{\"value\": \"%s\", \"tweak\": \"%s\"}", value, Base64Utils.encodeToString("somenum".getBytes())));
92+
VaultResponse response = this.vaultOperations.write("transform/encode/myrole",
93+
String.format("{\"value\": \"%s\", \"tweak\": \"%s\"}", value,
94+
Base64.getEncoder().encodeToString("somenum".getBytes())));
9295

9396
String encoded = (String) response.getRequiredData().get("encoded_value");
94-
VaultResponse decoded = this.vaultOperations.write("transform/decode/myrole", String.format(
95-
"{\"value\": \"%s\", \"tweak\": \"%s\"}", encoded, Base64Utils.encodeToString("somenum".getBytes())));
97+
VaultResponse decoded = this.vaultOperations.write("transform/decode/myrole",
98+
String.format("{\"value\": \"%s\", \"tweak\": \"%s\"}", encoded,
99+
Base64.getEncoder().encodeToString("somenum".getBytes())));
96100

97101
assertThat((String) decoded.getRequiredData().get("decoded_value")).isEqualTo(value);
98102
}

spring-vault-core/src/test/java/org/springframework/vault/core/VaultTemplateTransitIntegrationTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.springframework.vault.core;
1717

18+
import java.util.Base64;
1819
import java.util.Collections;
1920
import java.util.List;
2021

@@ -26,7 +27,6 @@
2627
import org.springframework.beans.factory.annotation.Autowired;
2728
import org.springframework.test.context.ContextConfiguration;
2829
import org.springframework.test.context.junit.jupiter.SpringExtension;
29-
import org.springframework.util.Base64Utils;
3030
import org.springframework.vault.support.VaultMount;
3131
import org.springframework.vault.support.VaultResponse;
3232
import org.springframework.vault.support.VaultTransitKeyConfiguration;
@@ -101,23 +101,23 @@ private void removeKeys() {
101101
@Test
102102
void shouldEncrypt() {
103103

104-
VaultResponse response = this.vaultOperations.write("transit/encrypt/mykey",
105-
Collections.singletonMap("plaintext", Base64Utils.encodeToString("that message is secret".getBytes())));
104+
VaultResponse response = this.vaultOperations.write("transit/encrypt/mykey", Collections
105+
.singletonMap("plaintext", Base64.getEncoder().encodeToString("that message is secret".getBytes())));
106106

107107
assertThat((String) response.getRequiredData().get("ciphertext")).isNotEmpty();
108108
}
109109

110110
@Test
111111
void shouldEncryptAndDecrypt() {
112112

113-
VaultResponse response = this.vaultOperations.write("transit/encrypt/mykey",
114-
Collections.singletonMap("plaintext", Base64Utils.encodeToString("that message is secret".getBytes())));
113+
VaultResponse response = this.vaultOperations.write("transit/encrypt/mykey", Collections
114+
.singletonMap("plaintext", Base64.getEncoder().encodeToString("that message is secret".getBytes())));
115115

116116
VaultResponse decrypted = this.vaultOperations.write("transit/decrypt/mykey",
117117
Collections.singletonMap("ciphertext", response.getRequiredData().get("ciphertext")));
118118

119119
assertThat((String) decrypted.getRequiredData().get("plaintext"))
120-
.isEqualTo(Base64Utils.encodeToString("that message is secret".getBytes()));
120+
.isEqualTo(Base64.getEncoder().encodeToString("that message is secret".getBytes()));
121121
}
122122

123123
}

0 commit comments

Comments
 (0)