Compare commits

...

1 Commits

Author SHA1 Message Date
Olga Maciaszek-Sharma 5cc30a70b2 Allow setting TLS versions via properties. WIP. 2 years ago
  1. 55
      spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/TLS.java
  2. 11
      spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/TlsProperties.java

55
spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/TLS.java

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
/*
* Copyright 2022-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.cloud.configuration;
/**
* Represents TLS versions to be used while setting up Apache HC5 HttpClient.
*
* @author Olga Maciaszek-Sharma
*/
public enum TLS {
/**
* Represents TLS 1.0. Not recommended due to lower security level.
*/
V_1_0("TLSv1"),
/**
* Represents TLS 1.1. Not recommended due to lower security level.
*/
V_1_1("TLSv1.1"),
/**
* Represents TLS 1.2.
*/
V_1_2("TLSv1.2"),
/**
* Represents TLS 1.3.
*/
V_1_3("TLSv1.3");
/**
* TLS version name used to match with Apache HC5 HttpClient.
*/
public final String name;
TLS(String name) {
this.name = name;
}
}

11
spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/TlsProperties.java

@ -19,6 +19,7 @@ package org.springframework.cloud.configuration; @@ -19,6 +19,7 @@ package org.springframework.cloud.configuration;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.springframework.core.io.Resource;
@ -47,6 +48,8 @@ public class TlsProperties { @@ -47,6 +48,8 @@ public class TlsProperties {
private String trustStorePassword = "";
private Set<TLS> tlsVersions = Set.of(TLS.V_1_2, TLS.V_1_3);
private static Map<String, String> extTypes() {
Map<String, String> result = new HashMap<>();
@ -139,6 +142,14 @@ public class TlsProperties { @@ -139,6 +142,14 @@ public class TlsProperties {
return trustStorePassword.toCharArray();
}
public Set<TLS> getTlsVersions() {
return tlsVersions;
}
public void setTlsVersions(Set<TLS> tlsVersions) {
this.tlsVersions = tlsVersions;
}
private String storeTypeOf(Resource resource) {
String extension = fileExtensionOf(resource);
String type = EXTENSION_STORE_TYPES.get(extension);

Loading…
Cancel
Save