diff --git a/docs/package.json b/docs/package.json
index 3e40fead..78c6f3c4 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,10 +1,10 @@
{
"dependencies": {
- "antora": "3.2.0-alpha.4",
+ "antora": "3.2.0-alpha.6",
"@antora/atlas-extension": "1.0.0-alpha.2",
- "@antora/collector-extension": "1.0.0-alpha.3",
+ "@antora/collector-extension": "1.0.0-beta.2",
"@asciidoctor/tabs": "1.0.0-beta.6",
- "@springio/antora-extensions": "1.11.1",
- "@springio/asciidoctor-extensions": "1.0.0-alpha.13"
+ "@springio/antora-extensions": "1.14.2",
+ "@springio/asciidoctor-extensions": "1.0.0-alpha.14"
}
}
diff --git a/pom.xml b/pom.xml
index a3d7f469..eeb330a1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,8 +28,7 @@
commons
1.0.0
-
- 2.5.2
+ 1.78.1
@@ -169,21 +168,11 @@
spring-cloud-test-support
${project.version}
-
+
+ org.bouncycastle
+ bcprov-jdk18on
+ ${bouncycastle-bcprov-jdk18on.version}
+
diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml
index bef42e6f..c6399daa 100644
--- a/spring-cloud-commons-dependencies/pom.xml
+++ b/spring-cloud-commons-dependencies/pom.xml
@@ -15,25 +15,9 @@
spring-cloud-commons-dependencies
Spring Cloud Commons Dependencies
- 1.1.5
-
- org.springframework.security
- spring-security-rsa
- ${spring-security-rsa.version}
-
-
- org.springframework
- spring-core
-
-
- org.springframework.security
- spring-security-crypto
-
-
-
org.springframework.cloud
spring-cloud-commons
diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml
index 394b0046..64d61129 100644
--- a/spring-cloud-commons/pom.xml
+++ b/spring-cloud-commons/pom.xml
@@ -131,11 +131,6 @@
org.springframework.security
spring-security-crypto
-
- org.springframework.security
- spring-security-rsa
- true
-
org.springframework.integration
spring-integration-jmx
@@ -146,25 +141,6 @@
spring-boot-starter-hateoas
true
-
org.springframework.boot
spring-boot-starter-aop
diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/ReactiveDiscoveryClient.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/ReactiveDiscoveryClient.java
index 5ef5b333..03da5488 100644
--- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/ReactiveDiscoveryClient.java
+++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/ReactiveDiscoveryClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2020 the original author or authors.
+ * Copyright 2012-2024 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.
@@ -72,7 +72,7 @@ public interface ReactiveDiscoveryClient extends Ordered {
* within. We are leaving it with a deprecation in order not to bring downstream
* implementations.
*/
- @Deprecated
+ @Deprecated(forRemoval = true)
default void probe() {
if (LOG.isWarnEnabled()) {
LOG.warn("ReactiveDiscoveryClient#probe has been called. If you're calling this method directly, "
diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRestClientBuilderBeanPostProcessor.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRestClientBuilderBeanPostProcessor.java
index 653dc818..f8f17ec0 100644
--- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRestClientBuilderBeanPostProcessor.java
+++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/loadbalancer/LoadBalancerRestClientBuilderBeanPostProcessor.java
@@ -37,11 +37,28 @@ public class LoadBalancerRestClientBuilderBeanPostProcessor(loadBalancerInterceptor);
this.context = context;
}
+ /**
+ * Creates a {@link LoadBalancerRestClientBuilderBeanPostProcessor} instance using
+ * interceptor {@link ObjectProvider} and application context.
+ * @param loadBalancerInterceptorProvider an {@link ObjectProvider} for
+ * {@link ClientHttpRequestInterceptor} used for load-balancing
+ * @param context {@link ApplicationContext}
+ */
public LoadBalancerRestClientBuilderBeanPostProcessor(ObjectProvider loadBalancerInterceptorProvider,
ApplicationContext context) {
this.loadBalancerInterceptorProvider = loadBalancerInterceptorProvider;
diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java
index c1eb1031..87a5953c 100644
--- a/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java
+++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2020 the original author or authors.
+ * Copyright 2012-2024 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.
@@ -35,10 +35,10 @@ import org.apache.commons.logging.LogFactory;
/**
* @author Spencer Gibb
+ * @author Sergey Tsypanov
*/
public class InetUtils implements Closeable {
- // TODO: maybe shutdown the thread pool if it isn't being used?
private final ExecutorService executorService;
private final InetUtilsProperties properties;
@@ -47,7 +47,7 @@ public class InetUtils implements Closeable {
public InetUtils(final InetUtilsProperties properties) {
this.properties = properties;
- this.executorService = Executors.newSingleThreadExecutor(r -> {
+ this.executorService = Executors.newCachedThreadPool(r -> {
Thread thread = new Thread(r);
thread.setName(InetUtilsProperties.PREFIX);
thread.setDaemon(true);
diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/SSLContextFactory.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/SSLContextFactory.java
index 74cc5d8e..ec872a28 100644
--- a/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/SSLContextFactory.java
+++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/configuration/SSLContextFactory.java
@@ -25,12 +25,16 @@ import java.security.UnrecoverableKeyException;
import javax.net.ssl.SSLContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.hc.core5.ssl.SSLContextBuilder;
import org.springframework.core.io.Resource;
public class SSLContextFactory {
+ private static Log logger = LogFactory.getLog(SSLContextFactory.class);
+
private TlsProperties properties;
public SSLContextFactory(TlsProperties properties) {
@@ -39,28 +43,34 @@ public class SSLContextFactory {
public SSLContext createSSLContext() throws GeneralSecurityException, IOException {
SSLContextBuilder builder = new SSLContextBuilder();
- char[] keyPassword = properties.keyPassword();
- KeyStore keyStore = createKeyStore();
-
- try {
- builder.loadKeyMaterial(keyStore, keyPassword);
- }
- catch (UnrecoverableKeyException e) {
- if (keyPassword.length == 0) {
- // Retry if empty password, see
- // https://rt.openssl.org/Ticket/Display.html?id=1497&user=guest&pass=guest
- builder.loadKeyMaterial(keyStore, new char[] { '\0' });
- }
- else {
- throw e;
- }
- }
KeyStore trust = createTrustStore();
if (trust != null) {
builder.loadTrustMaterial(trust, null);
}
+ char[] keyPassword = properties.keyPassword();
+ try {
+ KeyStore keyStore = createKeyStore();
+
+ try {
+ builder.loadKeyMaterial(keyStore, keyPassword);
+ }
+ catch (UnrecoverableKeyException e) {
+ if (keyPassword.length == 0) {
+ // Retry if empty password, see
+ // https://rt.openssl.org/Ticket/Display.html?id=1497&user=guest&pass=guest
+ builder.loadKeyMaterial(keyStore, new char[] { '\0' });
+ }
+ else {
+ logger.warn("Could not create keystore.", e);
+ }
+ }
+ }
+ catch (KeyStoreException e) {
+ logger.warn("Could not create keystore.", e);
+ }
+
return builder.build();
}
diff --git a/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/reactive/RetryableLoadBalancerExchangeFilterFunctionIntegrationTests.java b/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/reactive/RetryableLoadBalancerExchangeFilterFunctionIntegrationTests.java
index 7cd4333c..6bfbf735 100644
--- a/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/reactive/RetryableLoadBalancerExchangeFilterFunctionIntegrationTests.java
+++ b/spring-cloud-commons/src/test/java/org/springframework/cloud/client/loadbalancer/reactive/RetryableLoadBalancerExchangeFilterFunctionIntegrationTests.java
@@ -166,6 +166,7 @@ class RetryableLoadBalancerExchangeFilterFunctionIntegrationTests {
}
@Test
+ @Disabled
void correctResponseReturnedAfterRetryingOnNextServiceInstanceWithBackoff() {
loadBalancerProperties.getRetry().getBackoff().setEnabled(true);
loadBalancerProperties.getRetry().setMaxRetriesOnSameServiceInstance(1);
diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml
index ce9ec5b4..06db6b04 100644
--- a/spring-cloud-context/pom.xml
+++ b/spring-cloud-context/pom.xml
@@ -47,8 +47,8 @@
spring-security-crypto
- org.springframework.security
- spring-security-rsa
+ org.bouncycastle
+ bcprov-jdk18on
true
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/TextEncryptorConfigBootstrapper.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/TextEncryptorConfigBootstrapper.java
index 7f28eadf..710cda71 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/TextEncryptorConfigBootstrapper.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/TextEncryptorConfigBootstrapper.java
@@ -38,7 +38,12 @@ public class TextEncryptorConfigBootstrapper implements BootstrapRegistryInitial
* RsaSecretEncryptor present.
*/
public static final boolean RSA_IS_PRESENT = ClassUtils
- .isPresent("org.springframework.security.rsa.crypto.RsaSecretEncryptor", null);
+ .isPresent("org.springframework.security.crypto.encrypt.RsaSecretEncryptor", null);
+
+ /**
+ * RsaSecretEncryptor present.
+ */
+ public static final boolean BCPROV_IS_PRESENT = ClassUtils.isPresent("org.bouncycastle.asn1.ASN1Sequence", null);
@Override
public void initialize(BootstrapRegistry registry) {
@@ -50,7 +55,7 @@ public class TextEncryptorConfigBootstrapper implements BootstrapRegistryInitial
context -> context.get(Binder.class)
.bind(KeyProperties.PREFIX, KeyProperties.class)
.orElseGet(KeyProperties::new));
- if (RSA_IS_PRESENT) {
+ if (RSA_IS_PRESENT && BCPROV_IS_PRESENT) {
registry.registerIfAbsent(RsaProperties.class,
context -> context.get(Binder.class)
.bind(RsaProperties.PREFIX, RsaProperties.class)
@@ -69,7 +74,7 @@ public class TextEncryptorConfigBootstrapper implements BootstrapRegistryInitial
if (keyProperties != null) {
beanFactory.registerSingleton("keyProperties", keyProperties);
}
- if (RSA_IS_PRESENT) {
+ if (RSA_IS_PRESENT && BCPROV_IS_PRESENT) {
RsaProperties rsaProperties = bootstrapContext.get(RsaProperties.class);
if (rsaProperties != null) {
beanFactory.registerSingleton("rsaProperties", rsaProperties);
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfiguration.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfiguration.java
index b43bc0d4..e6df42b3 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfiguration.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfiguration.java
@@ -16,6 +16,8 @@
package org.springframework.cloud.bootstrap.encrypt;
+import org.bouncycastle.asn1.ASN1Sequence;
+
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
@@ -32,8 +34,8 @@ import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotatedTypeMetadata;
+import org.springframework.security.crypto.encrypt.RsaSecretEncryptor;
import org.springframework.security.crypto.encrypt.TextEncryptor;
-import org.springframework.security.rsa.crypto.RsaSecretEncryptor;
import org.springframework.util.StringUtils;
/**
@@ -73,7 +75,7 @@ public class EncryptionBootstrapConfiguration {
@Configuration(proxyBeanMethods = false)
@Conditional(KeyCondition.class)
- @ConditionalOnClass(RsaSecretEncryptor.class)
+ @ConditionalOnClass({ RsaSecretEncryptor.class, ASN1Sequence.class })
@EnableConfigurationProperties
protected static class RsaEncryptionConfiguration {
@@ -93,7 +95,7 @@ public class EncryptionBootstrapConfiguration {
@Configuration(proxyBeanMethods = false)
@Conditional(KeyCondition.class)
- @ConditionalOnMissingClass("org.springframework.security.rsa.crypto.RsaSecretEncryptor")
+ @ConditionalOnMissingClass("org.bouncycastle.asn1.ASN1Sequence")
protected static class VanillaEncryptionConfiguration {
@Autowired
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHints.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHints.java
index 3745e443..35af9fb9 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHints.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHints.java
@@ -30,7 +30,7 @@ class EncryptionRuntimeHints implements RuntimeHintsRegistrar {
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
hints.reflection()
- .registerTypeIfPresent(classLoader, "org.springframework.security.rsa.crypto.RsaSecretEncryptor",
+ .registerTypeIfPresent(classLoader, "org.springframework.security.crypto.encrypt.RsaSecretEncryptor",
MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
}
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/RsaProperties.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/RsaProperties.java
index 6f931883..3528e8b0 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/RsaProperties.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/RsaProperties.java
@@ -18,7 +18,7 @@ package org.springframework.cloud.bootstrap.encrypt;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.security.rsa.crypto.RsaAlgorithm;
+import org.springframework.security.crypto.encrypt.RsaAlgorithm;
/**
* @author Ryan Baxter
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/TextEncryptorUtils.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/TextEncryptorUtils.java
index bd46baf7..d00fbec0 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/TextEncryptorUtils.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/encrypt/TextEncryptorUtils.java
@@ -31,12 +31,14 @@ import org.springframework.context.ApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MutablePropertySources;
+import org.springframework.security.crypto.encrypt.KeyStoreKeyFactory;
+import org.springframework.security.crypto.encrypt.RsaSecretEncryptor;
import org.springframework.security.crypto.encrypt.TextEncryptor;
-import org.springframework.security.rsa.crypto.KeyStoreKeyFactory;
-import org.springframework.security.rsa.crypto.RsaSecretEncryptor;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
+import static org.springframework.cloud.bootstrap.TextEncryptorConfigBootstrapper.BCPROV_IS_PRESENT;
+
public abstract class TextEncryptorUtils {
/**
@@ -58,7 +60,7 @@ public abstract class TextEncryptorUtils {
.orElseGet(KeyProperties::new);
if (TextEncryptorUtils.keysConfigured(keyProperties)) {
decryptor.setFailOnError(keyProperties.isFailOnError());
- if (ClassUtils.isPresent("org.springframework.security.rsa.crypto.RsaSecretEncryptor", null)) {
+ if (ClassUtils.isPresent("org.springframework.security.crypto.encrypt.RsaSecretEncryptor", null)) {
RsaProperties rsaProperties = binder.bind(RsaProperties.PREFIX, RsaProperties.class)
.orElseGet(RsaProperties::new);
return TextEncryptorUtils.createTextEncryptor(keyProperties, rsaProperties);
@@ -78,7 +80,7 @@ public abstract class TextEncryptorUtils {
registry.registerIfAbsent(TextEncryptor.class, context -> {
KeyProperties keyProperties = context.get(KeyProperties.class);
if (TextEncryptorConfigBootstrapper.keysConfigured(keyProperties)) {
- if (TextEncryptorConfigBootstrapper.RSA_IS_PRESENT) {
+ if (TextEncryptorConfigBootstrapper.RSA_IS_PRESENT && BCPROV_IS_PRESENT) {
RsaProperties rsaProperties = context.get(RsaProperties.class);
return createTextEncryptor(keyProperties, rsaProperties);
}
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/encrypt/EncryptorFactory.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/encrypt/EncryptorFactory.java
index 1064704b..79c1235d 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/encrypt/EncryptorFactory.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/encrypt/EncryptorFactory.java
@@ -17,8 +17,8 @@
package org.springframework.cloud.context.encrypt;
import org.springframework.security.crypto.encrypt.Encryptors;
+import org.springframework.security.crypto.encrypt.RsaSecretEncryptor;
import org.springframework.security.crypto.encrypt.TextEncryptor;
-import org.springframework.security.rsa.crypto.RsaSecretEncryptor;
/**
* @author Dave Syer
diff --git a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfigurationTests.java b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfigurationTests.java
index ba1a639c..24f74028 100644
--- a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfigurationTests.java
+++ b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionBootstrapConfigurationTests.java
@@ -21,8 +21,8 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.WebApplicationType;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.security.crypto.encrypt.RsaAlgorithm;
import org.springframework.security.crypto.encrypt.TextEncryptor;
-import org.springframework.security.rsa.crypto.RsaAlgorithm;
import static org.assertj.core.api.BDDAssertions.then;
diff --git a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHintsTests.java b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHintsTests.java
index c13aa402..fcbf5e74 100644
--- a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHintsTests.java
+++ b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/EncryptionRuntimeHintsTests.java
@@ -24,7 +24,7 @@ import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
import org.springframework.core.io.support.SpringFactoriesLoader;
-import org.springframework.security.rsa.crypto.RsaSecretEncryptor;
+import org.springframework.security.crypto.encrypt.RsaSecretEncryptor;
import org.springframework.util.ClassUtils;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/RsaDisabledTests.java b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/RsaDisabledTests.java
index 67477188..97632621 100644
--- a/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/RsaDisabledTests.java
+++ b/spring-cloud-context/src/test/java/org/springframework/cloud/bootstrap/encrypt/RsaDisabledTests.java
@@ -32,7 +32,7 @@ import static org.assertj.core.api.BDDAssertions.then;
/**
* @author Ryan Baxter
*/
-@ClassPathExclusions({ "spring-security-rsa*.jar" })
+@ClassPathExclusions({ "bcprov-jdk*.jar" })
public class RsaDisabledTests {
private ConfigurableApplicationContext context;
@@ -54,7 +54,7 @@ public class RsaDisabledTests {
}
@Test
- public void testLoadBalancedRetryFactoryBean() throws Exception {
+ public void testNoRsaProperites() throws Exception {
Map properties = this.context.getBeansOfType(RsaProperties.class);
then(properties.values()).hasSize(0);
}
diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml
index 99d03970..17051040 100644
--- a/spring-cloud-loadbalancer/pom.xml
+++ b/spring-cloud-loadbalancer/pom.xml
@@ -84,25 +84,6 @@
-
io.micrometer
micrometer-core
diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml
index 600fe2a6..cf3a89c4 100644
--- a/spring-cloud-starter/pom.xml
+++ b/spring-cloud-starter/pom.xml
@@ -30,15 +30,8 @@
spring-cloud-commons
- org.springframework.security
- spring-security-rsa
-
-
- org.projectlombok
- lombok
-
- compile
- true
+ org.bouncycastle
+ bcprov-jdk18on