This is an automated email from the ASF dual-hosted git repository.
youling1128 pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/2.8.x by this push:
new 38e95a433 [#5090] SSLOption/KeyPairUtils change using Environment get
configs (#5091)
38e95a433 is described below
commit 38e95a433b4f813220aa4b1873cfbdecdb76a89e
Author: Alex <[email protected]>
AuthorDate: Tue Mar 10 11:35:03 2026 +0800
[#5090] SSLOption/KeyPairUtils change using Environment get configs (#5091)
---
.../center/client/ServiceCenterDiscovery.java | 4 +
.../core/ConfigurationSpringInitializer.java | 2 +
.../foundation/common/LegacyPropertyFactory.java | 40 ++++++++++
.../foundation/common/utils/KeyPairUtils.java | 15 ++--
.../foundation/common/utils/TestRSAUtil.java | 15 ++++
foundations/foundation-ssl/pom.xml | 4 +
.../servicecomb/foundation/ssl/SSLOption.java | 71 ++++++-----------
.../foundation/ssl/SSLOptionFactory.java | 6 +-
.../servicecomb/foundation/ssl/SSLOptionTest.java | 88 +++++++++++-----------
.../foundation/ssl/TestSSLOptionFactory.java | 15 ++--
.../foundation/vertx/VertxTLSBuilder.java | 9 ++-
.../foundation/vertx/server/TcpServer.java | 5 +-
.../foundation/vertx/TestVertxTLSBuilder.java | 36 +++++----
.../authentication/TestAuthHandlerBoot.java | 11 +++
.../authentication/TestAuthenticationToken.java | 16 +++-
.../provider/TestProviderTokenManager.java | 10 +++
.../transport/highway/HighwayClient.java | 5 +-
.../transport/highway/TestHighwayClient.java | 4 +
.../transport/highway/TestHighwayTransport.java | 4 +
.../transport/rest/vertx/RestServerVerticle.java | 5 +-
.../rest/vertx/TestRestServerVerticle.java | 4 +
21 files changed, 229 insertions(+), 140 deletions(-)
diff --git
a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
index 6a58d1203..2598b52c2 100644
---
a/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
+++
b/clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterDiscovery.java
@@ -138,6 +138,10 @@ public class ServiceCenterDiscovery extends AbstractTask {
synchronized (lock) {
if (this.instancesCache.get(subscriptionKey) == null) {
SubscriptionValue value = new SubscriptionValue();
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.debug("find {}#{} microservice instances from
service-center.", subscriptionKey.appId,
+ subscriptionKey.serviceName);
+ }
pullInstance(subscriptionKey, value, false);
this.instancesCache.put(subscriptionKey, value);
}
diff --git
a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
index 791c441f7..0e4563857 100644
---
a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
+++
b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
@@ -36,6 +36,7 @@ import
org.apache.servicecomb.config.event.DynamicConfigurationChangedEvent;
import org.apache.servicecomb.config.event.RefreshGovernanceConfigurationEvent;
import org.apache.servicecomb.config.spi.ConfigCenterConfigurationSource;
import org.apache.servicecomb.foundation.bootstrap.BootStrapService;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.event.EventManager;
import org.apache.servicecomb.foundation.common.utils.SPIServiceUtils;
import org.slf4j.Logger;
@@ -110,6 +111,7 @@ public class ConfigurationSpringInitializer extends
PropertySourcesPlaceholderCo
@Override
public void setEnvironment(Environment environment) {
super.setEnvironment(environment);
+ LegacyPropertyFactory.setEnvironment(environment);
if (isExternalInit()) {
return;
}
diff --git
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/LegacyPropertyFactory.java
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/LegacyPropertyFactory.java
new file mode 100644
index 000000000..5abbe6f0a
--- /dev/null
+++
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/LegacyPropertyFactory.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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
+ *
+ * http://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.apache.servicecomb.foundation.common;
+
+import org.springframework.core.env.Environment;
+
+public class LegacyPropertyFactory {
+ private static Environment environment;
+
+ public static void setEnvironment(Environment environment) {
+ LegacyPropertyFactory.environment = environment;
+ }
+
+ public static Environment getEnvironment() {
+ return environment;
+ }
+
+ public static String getStringProperty(String key, String defaultValue) {
+ return environment.getProperty(key, defaultValue);
+ }
+
+ public static int getIntProperty(String key, int defaultValue) {
+ return environment.getProperty(key, int.class, defaultValue);
+ }
+}
diff --git
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/KeyPairUtils.java
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/KeyPairUtils.java
index 70b070067..d9aef85b4 100644
---
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/KeyPairUtils.java
+++
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/KeyPairUtils.java
@@ -31,23 +31,22 @@ import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
import java.util.Base64;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.netflix.config.DynamicPropertyFactory;
-
public class KeyPairUtils {
private static final Logger LOGGER =
LoggerFactory.getLogger(KeyPairUtils.class);
- private static final String KEY_GENERATOR_ALGORITHM =
DynamicPropertyFactory.getInstance()
-
.getStringProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA").get();;
+ private static final String KEY_GENERATOR_ALGORITHM = LegacyPropertyFactory
+
.getStringProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA");;
- private static final String SIGN_ALG = DynamicPropertyFactory.getInstance()
- .getStringProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA").get();
+ private static final String SIGN_ALG = LegacyPropertyFactory
+ .getStringProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA");
- private static final int KEY_SIZE = DynamicPropertyFactory.getInstance()
- .getIntProperty("servicecomb.publicKey.accessControl.keySize",
2048).get();
+ private static final int KEY_SIZE = LegacyPropertyFactory
+ .getIntProperty("servicecomb.publicKey.accessControl.keySize", 2048);
private static final Base64.Encoder encoder = Base64.getEncoder();
diff --git
a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRSAUtil.java
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRSAUtil.java
index ab6458cff..057dbcf66 100644
---
a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRSAUtil.java
+++
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestRSAUtil.java
@@ -16,8 +16,12 @@
*/
package org.apache.servicecomb.foundation.common.utils;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -25,6 +29,17 @@ import java.security.SignatureException;
import java.security.spec.InvalidKeySpecException;
public class TestRSAUtil {
+ @BeforeAll
+ public static void setUpClass() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA"))
+ .thenReturn("RSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA"))
+ .thenReturn("SHA256withRSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keySize",
int.class, 2048))
+ .thenReturn(2048);
+ }
@Test
public void testSignVerify()
diff --git a/foundations/foundation-ssl/pom.xml
b/foundations/foundation-ssl/pom.xml
index b5802336d..334e47629 100644
--- a/foundations/foundation-ssl/pom.xml
+++ b/foundations/foundation-ssl/pom.xml
@@ -27,6 +27,10 @@
<name>Java Chassis::Foundations::SSL</name>
<dependencies>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ </dependency>
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
diff --git
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOption.java
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOption.java
index bbc7e0d9d..86ddc026e 100644
---
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOption.java
+++
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOption.java
@@ -25,11 +25,9 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
-import java.util.List;
import java.util.Properties;
-import com.netflix.config.ConcurrentCompositeConfiguration;
-import com.netflix.config.DynamicPropertyFactory;
+import org.springframework.core.env.Environment;
/**
* SSL配置选项。
@@ -263,20 +261,10 @@ public final class SSLOption {
return sb.toString();
}
- public static String getStringProperty(ConcurrentCompositeConfiguration
configSource, String defaultValue,
- String... keys) {
+ public static String getStringProperty(Environment environment, String
defaultValue, String... keys) {
String property = null;
for (String key : keys) {
- if (configSource != null) {
- Object v = configSource.getProperty(key);
- if (v instanceof List) {
- property = listToString(((List<?>) v).toArray());
- } else {
- property = (String) configSource.getProperty(key);
- }
- } else {
- property = DynamicPropertyFactory.getInstance().getStringProperty(key,
null).get();
- }
+ property = environment.getProperty(key);
if (property != null) {
break;
}
@@ -289,17 +277,10 @@ public final class SSLOption {
}
}
- private static boolean getBooleanProperty(ConcurrentCompositeConfiguration
configSource, boolean defaultValue,
- String... keys) {
+ private static boolean getBooleanProperty(Environment environment, boolean
defaultValue, String... keys) {
String property = null;
for (String key : keys) {
- if (configSource != null) {
- if (configSource.getProperty(key) != null) {
- return configSource.getBoolean(key);
- }
- } else {
- property = DynamicPropertyFactory.getInstance().getStringProperty(key,
null).get();
- }
+ property = environment.getProperty(key);
if (property != null) {
break;
}
@@ -312,83 +293,79 @@ public final class SSLOption {
}
}
- public static SSLOption buildFromYaml(String tag,
ConcurrentCompositeConfiguration configSource) {
+ public static SSLOption buildFromYaml(String tag, Environment environment) {
SSLOption option = new SSLOption();
- option.engine = getStringProperty(configSource,
+ option.engine = getStringProperty(environment,
DEFAULT_OPTION.getEngine(),
"ssl." + tag + ".engine",
"ssl.engine");
option.protocols =
- getStringProperty(configSource,
+ getStringProperty(environment,
DEFAULT_OPTION.getProtocols(),
"ssl." + tag + ".protocols",
"ssl.protocols");
option.ciphers =
- getStringProperty(configSource, DEFAULT_OPTION.getCiphers(), "ssl." +
tag + ".ciphers", "ssl.ciphers");
+ getStringProperty(environment, DEFAULT_OPTION.getCiphers(), "ssl." +
tag + ".ciphers", "ssl.ciphers");
option.authPeer =
- getBooleanProperty(configSource, DEFAULT_OPTION.isAuthPeer(), "ssl." +
tag + ".authPeer", "ssl.authPeer");
+ getBooleanProperty(environment, DEFAULT_OPTION.isAuthPeer(), "ssl." +
tag + ".authPeer", "ssl.authPeer");
option.checkCNHost =
- getBooleanProperty(configSource,
+ getBooleanProperty(environment,
DEFAULT_OPTION.isCheckCNHost(),
"ssl." + tag + ".checkCN.host",
"ssl.checkCN.host");
option.checkCNWhite =
- getBooleanProperty(configSource,
+ getBooleanProperty(environment,
DEFAULT_OPTION.isCheckCNWhite(),
"ssl." + tag + ".checkCN.white",
"ssl.checkCN.white");
- option.checkCNWhiteFile = getStringProperty(configSource,
+ option.checkCNWhiteFile = getStringProperty(environment,
DEFAULT_OPTION.getCiphers(),
"ssl." + tag + ".checkCN.white.file",
"ssl.checkCN.white.file");
- option.allowRenegociate = getBooleanProperty(configSource,
+ option.allowRenegociate = getBooleanProperty(environment,
DEFAULT_OPTION.isAllowRenegociate(),
"ssl." + tag + ".allowRenegociate",
"ssl.allowRenegociate");
option.storePath =
- getStringProperty(configSource,
+ getStringProperty(environment,
DEFAULT_OPTION.getStorePath(),
"ssl." + tag + ".storePath",
"ssl.storePath");
option.clientAuth =
- getStringProperty(configSource,
+ getStringProperty(environment,
DEFAULT_OPTION.getClientAuth(),
"ssl." + tag + ".storePath",
"ssl.clientAuth");
option.trustStore =
- getStringProperty(configSource,
+ getStringProperty(environment,
DEFAULT_OPTION.getTrustStore(),
"ssl." + tag + ".trustStore",
"ssl.trustStore");
- option.trustStoreType = getStringProperty(configSource,
+ option.trustStoreType = getStringProperty(environment,
DEFAULT_OPTION.getTrustStoreType(),
"ssl." + tag + ".trustStoreType",
"ssl.trustStoreType");
- option.trustStoreValue = getStringProperty(configSource,
+ option.trustStoreValue = getStringProperty(environment,
DEFAULT_OPTION.getTrustStoreValue(),
"ssl." + tag + ".trustStoreValue",
"ssl.trustStoreValue");
option.keyStore =
- getStringProperty(configSource, DEFAULT_OPTION.getKeyStore(), "ssl." +
tag + ".keyStore", "ssl.keyStore");
+ getStringProperty(environment, DEFAULT_OPTION.getKeyStore(), "ssl." +
tag + ".keyStore", "ssl.keyStore");
option.keyStoreType =
- getStringProperty(configSource,
+ getStringProperty(environment,
DEFAULT_OPTION.getKeyStoreType(),
"ssl." + tag + ".keyStoreType",
"ssl.keyStoreType");
- option.keyStoreValue = getStringProperty(configSource,
+ option.keyStoreValue = getStringProperty(environment,
DEFAULT_OPTION.getKeyStoreValue(),
"ssl." + tag + ".keyStoreValue",
"ssl.keyStoreValue");
- option.crl = getStringProperty(configSource, DEFAULT_OPTION.getCrl(),
"ssl." + tag + ".crl", "ssl.crl");
+ option.crl = getStringProperty(environment, DEFAULT_OPTION.getCrl(),
"ssl." + tag + ".crl", "ssl.crl");
option.sslCustomClass =
- getStringProperty(configSource, null, "ssl." + tag +
".sslCustomClass", "ssl.sslCustomClass");
+ getStringProperty(environment, null, "ssl." + tag + ".sslCustomClass",
"ssl.sslCustomClass");
return option;
}
- public static SSLOption buildFromYaml(String tag) {
- return buildFromYaml(tag, null);
- }
-
private void fromProperty(Properties props) {
this.protocols = propString(props, "ssl.protocols");
this.ciphers = propString(props, "ssl.ciphers");
diff --git
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
index 4abe85ca6..49cdb3ab1 100644
---
a/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
+++
b/foundations/foundation-ssl/src/main/java/org/apache/servicecomb/foundation/ssl/SSLOptionFactory.java
@@ -17,11 +17,11 @@
package org.apache.servicecomb.foundation.ssl;
-import com.netflix.config.ConcurrentCompositeConfiguration;
+import org.springframework.core.env.Environment;
public interface SSLOptionFactory {
- static SSLOptionFactory createSSLOptionFactory(String tag,
ConcurrentCompositeConfiguration configSource) {
- String name = SSLOption.getStringProperty(configSource,
+ static SSLOptionFactory createSSLOptionFactory(String tag, Environment
environment) {
+ String name = SSLOption.getStringProperty(environment,
null,
"ssl." + tag + ".sslOptionFactory",
"ssl.sslOptionFactory");
diff --git
a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLOptionTest.java
b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLOptionTest.java
index 67ae38284..912746e71 100644
---
a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLOptionTest.java
+++
b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/SSLOptionTest.java
@@ -24,32 +24,38 @@ import java.io.Reader;
import java.net.URL;
import java.util.Properties;
-import org.apache.commons.configuration.SystemConfiguration;
-import org.apache.servicecomb.config.ConfigUtil;
-import org.apache.servicecomb.config.archaius.sources.ConfigSourceMaker;
-import org.junit.AfterClass;
+import org.junit.Before;
import org.junit.Test;
-import com.netflix.config.ConcurrentCompositeConfiguration;
-import com.netflix.config.ConcurrentMapConfiguration;
-import com.netflix.config.ConfigurationManager;
-import com.netflix.config.DynamicConfiguration;
-import com.netflix.config.DynamicPropertyFactory;
-import com.netflix.config.FixedDelayPollingScheduler;
-
-import mockit.Deencapsulation;
import mockit.Mock;
import mockit.MockUp;
import org.junit.jupiter.api.Assertions;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
public class SSLOptionTest {
private static final String DIR =
Thread.currentThread().getContextClassLoader().getResource("").getPath();
- @AfterClass
- public static void tearDown() throws Exception {
- Deencapsulation.setField(ConfigurationManager.class, "instance", null);
- Deencapsulation.setField(ConfigurationManager.class,
"customConfigurationInstalled", false);
- Deencapsulation.setField(DynamicPropertyFactory.class, "config", null);
+ Environment environment = Mockito.mock(Environment.class);
+
+ @Before
+ public void setUp() throws Exception {
+
Mockito.when(environment.getProperty("ssl.protocols")).thenReturn("TLSv1.2,TLSv1.1,TLSv1,SSLv2Hello");
+ Mockito.when(environment.getProperty("ssl.ciphers")).thenReturn(
+
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256");
+ Mockito.when(environment.getProperty("ssl.authPeer")).thenReturn("true");
+
Mockito.when(environment.getProperty("ssl.checkCN.host")).thenReturn("true");
+
Mockito.when(environment.getProperty("ssl.checkCN.white")).thenReturn("true");
+
Mockito.when(environment.getProperty("ssl.checkCN.white.file")).thenReturn("white.list");
+
Mockito.when(environment.getProperty("ssl.allowRenegotiate")).thenReturn("false");
+
Mockito.when(environment.getProperty("ssl.storePath")).thenReturn("internal");
+
Mockito.when(environment.getProperty("ssl.trustStore")).thenReturn("trust.jks");
+
Mockito.when(environment.getProperty("ssl.trustStoreType")).thenReturn("JKS");
+
Mockito.when(environment.getProperty("ssl.trustStoreValue")).thenReturn("Changeme_123");
+
Mockito.when(environment.getProperty("ssl.keyStore")).thenReturn("server.p12");
+
Mockito.when(environment.getProperty("ssl.keyStoreType")).thenReturn("PKCS12");
+
Mockito.when(environment.getProperty("ssl.keyStoreValue")).thenReturn("Changeme_123");
+ Mockito.when(environment.getProperty("ssl.crl")).thenReturn("revoke.crl");
}
@Test
@@ -124,21 +130,13 @@ public class SSLOptionTest {
@Test
public void testSSLOptionYaml() {
- // configuration from yaml files: default microservice.yaml
- DynamicConfiguration configFromYamlFile =
- new DynamicConfiguration(ConfigSourceMaker.yamlConfigSource(), new
FixedDelayPollingScheduler());
- // configuration from system properties
- ConcurrentMapConfiguration configFromSystemProperties =
- new ConcurrentMapConfiguration(new SystemConfiguration());
-
- // create a hierarchy of configuration that makes
- // 1) dynamic configuration source override system properties
- ConcurrentCompositeConfiguration finalConfig = new
ConcurrentCompositeConfiguration();
- finalConfig.addConfiguration(configFromSystemProperties,
"systemEnvConfig");
- finalConfig.addConfiguration(configFromYamlFile, "configFromYamlFile");
- ConfigurationManager.install(finalConfig);
-
- SSLOption option = SSLOption.buildFromYaml("server");
+
Mockito.when(environment.getProperty("ssl.server.sslCustomClass")).thenReturn("wwrong");
+ Mockito.when(environment.getProperty("ssl.ciphers"))
+
.thenReturn("TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,"
+ +
"TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,"
+ + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA");
+
+ SSLOption option = SSLOption.buildFromYaml("server", environment);
String protocols = option.getProtocols();
option.setProtocols(protocols);
@@ -170,7 +168,7 @@ public class SSLOptionTest {
boolean allowRenegociate = option.isAllowRenegociate();
option.setAllowRenegociate(allowRenegociate);
- Assertions.assertFalse(allowRenegociate);
+ Assertions.assertTrue(allowRenegociate);
String storePath = option.getStorePath();
option.setStorePath(storePath);
@@ -212,10 +210,9 @@ public class SSLOptionTest {
@Test
public void testSSLOptionYamlOption2() throws Exception {
- System.setProperty("ssl.protocols", "TLSv1.2");
- ConcurrentCompositeConfiguration finalConfig =
ConfigUtil.createLocalConfig();
+
Mockito.when(environment.getProperty("ssl.protocols")).thenReturn("TLSv1.2");
- SSLOption option = SSLOption.buildFromYaml("server", finalConfig);
+ SSLOption option = SSLOption.buildFromYaml("server", environment);
String protocols = option.getProtocols();
option.setProtocols(protocols);
@@ -225,10 +222,9 @@ public class SSLOptionTest {
@Test
public void testSSLOptionYamlOptionWithProperyFalse() throws Exception {
- System.setProperty("ssl.authPeer", "false");
- ConcurrentCompositeConfiguration finalConfig =
ConfigUtil.createLocalConfig();
+ Mockito.when(environment.getProperty("ssl.authPeer")).thenReturn("false");
- SSLOption option = SSLOption.buildFromYaml("server", finalConfig);
+ SSLOption option = SSLOption.buildFromYaml("server", environment);
boolean authPeer = option.isAuthPeer();
option.setAuthPeer(authPeer);
@@ -238,10 +234,9 @@ public class SSLOptionTest {
@Test
public void testSSLOptionYamlOptionWithProperyTrue() throws Exception {
- System.setProperty("ssl.authPeer", "true");
- ConcurrentCompositeConfiguration finalConfig =
ConfigUtil.createLocalConfig();
+ Mockito.when(environment.getProperty("ssl.authPeer")).thenReturn("true");
- SSLOption option = SSLOption.buildFromYaml("server", finalConfig);
+ SSLOption option = SSLOption.buildFromYaml("server", environment);
boolean authPeer = option.isAuthPeer();
option.setAuthPeer(authPeer);
@@ -251,9 +246,12 @@ public class SSLOptionTest {
@Test
public void testSSLOptionYamlOption() throws Exception {
- ConcurrentCompositeConfiguration finalConfig =
ConfigUtil.createLocalConfig();
+ Mockito.when(environment.getProperty("ssl.ciphers"))
+
.thenReturn("TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,"
+ +
"TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,"
+ + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA");
- SSLOption option = SSLOption.buildFromYaml("server", finalConfig);
+ SSLOption option = SSLOption.buildFromYaml("server", environment);
String protocols = option.getProtocols();
option.setProtocols(protocols);
@@ -285,7 +283,7 @@ public class SSLOptionTest {
boolean allowRenegociate = option.isAllowRenegociate();
option.setAllowRenegociate(allowRenegociate);
- Assertions.assertFalse(allowRenegociate);
+ Assertions.assertTrue(allowRenegociate);
String storePath = option.getStorePath();
option.setStorePath(storePath);
diff --git
a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLOptionFactory.java
b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLOptionFactory.java
index 3ee54ccab..6cdcc3bab 100644
---
a/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLOptionFactory.java
+++
b/foundations/foundation-ssl/src/test/java/org/apache/servicecomb/foundation/ssl/TestSSLOptionFactory.java
@@ -19,8 +19,8 @@ package org.apache.servicecomb.foundation.ssl;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
-
-import com.netflix.config.ConcurrentCompositeConfiguration;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
import mockit.Expectations;
import mockit.Mock;
@@ -28,10 +28,11 @@ import mockit.MockUp;
import mockit.Mocked;
public class TestSSLOptionFactory {
+ Environment environment = Mockito.mock(Environment.class);
@Test
public void testSSLOptionFactory() {
- SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory("cc",
null);
+ SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory("cc",
environment);
Assertions.assertNull(factory);
}
@@ -39,13 +40,13 @@ public class TestSSLOptionFactory {
public void testSSLOptionFactoryWrong(@Mocked SSLOption option) {
new Expectations() {
{
- SSLOption.getStringProperty((ConcurrentCompositeConfiguration) any,
anyString, (String[]) any);
+ SSLOption.getStringProperty((Environment) any, anyString, (String[])
any);
result = "wrong";
}
};
IllegalStateException exception =
Assertions.assertThrows(IllegalStateException.class,
- () -> SSLOptionFactory.createSSLOptionFactory("cc", null));
+ () -> SSLOptionFactory.createSSLOptionFactory("cc", environment));
Assertions.assertEquals("Failed to create SSLOptionFactory.",
exception.getMessage());
}
@@ -53,12 +54,12 @@ public class TestSSLOptionFactory {
public void testSSLOptionFactoryCorrent() {
new MockUp<SSLOption>() {
@Mock
- public String getStringProperty(ConcurrentCompositeConfiguration
configSource, String defaultValue,
+ public String getStringProperty(Environment environment, String
defaultValue,
String... keys) {
return "org.apache.servicecomb.foundation.ssl.MyOptionFactory";
}
};
- SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory("cc",
null);
+ SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory("cc",
environment);
Assertions.assertEquals(factory.createSSLOption().getProtocols(),
"TLSv1.2");
}
}
diff --git
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxTLSBuilder.java
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxTLSBuilder.java
index 8a2012e3b..35c8ab6d6 100644
---
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxTLSBuilder.java
+++
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/VertxTLSBuilder.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
import java.util.HashSet;
import org.apache.commons.lang3.StringUtils;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.ssl.SSLCustom;
import org.apache.servicecomb.foundation.ssl.SSLManager;
import org.apache.servicecomb.foundation.ssl.SSLOption;
@@ -76,10 +77,10 @@ public final class VertxTLSBuilder {
}
public static void buildHttpClientOptions(String sslKey, HttpClientOptions
httpClientOptions) {
- SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory(sslKey,
null);
+ SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory(sslKey,
LegacyPropertyFactory.getEnvironment());
SSLOption sslOption;
if (factory == null) {
- sslOption = SSLOption.buildFromYaml(sslKey);
+ sslOption = SSLOption.buildFromYaml(sslKey,
LegacyPropertyFactory.getEnvironment());
} else {
sslOption = factory.createSSLOption();
}
@@ -88,10 +89,10 @@ public final class VertxTLSBuilder {
}
public static void buildWebSocketClientOptions(String sslKey,
WebSocketClientOptions webSocketClientOptions) {
- SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory(sslKey,
null);
+ SSLOptionFactory factory = SSLOptionFactory.createSSLOptionFactory(sslKey,
LegacyPropertyFactory.getEnvironment());
SSLOption sslOption;
if (factory == null) {
- sslOption = SSLOption.buildFromYaml(sslKey);
+ sslOption = SSLOption.buildFromYaml(sslKey,
LegacyPropertyFactory.getEnvironment());
} else {
sslOption = factory.createSSLOption();
}
diff --git
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServer.java
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServer.java
index 972d145ec..d9453e2ed 100644
---
a/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServer.java
+++
b/foundations/foundation-vertx/src/main/java/org/apache/servicecomb/foundation/vertx/server/TcpServer.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.foundation.vertx.server;
import java.net.InetSocketAddress;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.net.URIEndpointObject;
import org.apache.servicecomb.foundation.ssl.SSLCustom;
import org.apache.servicecomb.foundation.ssl.SSLOption;
@@ -48,10 +49,10 @@ public class TcpServer {
NetServer netServer;
if (endpointObject.isSslEnabled()) {
SSLOptionFactory factory =
- SSLOptionFactory.createSSLOptionFactory(sslKey, null);
+ SSLOptionFactory.createSSLOptionFactory(sslKey,
LegacyPropertyFactory.getEnvironment());
SSLOption sslOption;
if (factory == null) {
- sslOption = SSLOption.buildFromYaml(sslKey);
+ sslOption = SSLOption.buildFromYaml(sslKey,
LegacyPropertyFactory.getEnvironment());
} else {
sslOption = factory.createSSLOption();
}
diff --git
a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
index 9ed503df3..bd1033b53 100644
---
a/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
+++
b/foundations/foundation-vertx/src/test/java/org/apache/servicecomb/foundation/vertx/TestVertxTLSBuilder.java
@@ -17,12 +17,11 @@
package org.apache.servicecomb.foundation.vertx;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.ssl.SSLCustom;
import org.apache.servicecomb.foundation.ssl.SSLOption;
import org.apache.servicecomb.foundation.ssl.SSLOptionFactory;
-import org.apache.servicecomb.foundation.test.scaffolding.config.ArchaiusUtils;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
+import org.junit.Before;
import org.junit.Test;
import io.vertx.core.http.ClientAuth;
@@ -31,21 +30,20 @@ import io.vertx.core.http.HttpServerOptions;
import mockit.Mock;
import mockit.MockUp;
import org.junit.jupiter.api.Assertions;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
public class TestVertxTLSBuilder {
- @BeforeClass
- public static void classSetup() {
- ArchaiusUtils.resetConfig();
- }
+ Environment environment = Mockito.mock(Environment.class);
- @AfterClass
- public static void classTeardown() {
- ArchaiusUtils.resetConfig();
+ @Before
+ public void classSetup() {
+ LegacyPropertyFactory.setEnvironment(environment);
}
@Test
public void testBuildHttpServerOptions() {
- SSLOption option = SSLOption.buildFromYaml("rest.provider");
+ SSLOption option = SSLOption.buildFromYaml("rest.provider", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpServerOptions serverOptions = new HttpServerOptions();
VertxTLSBuilder.buildNetServerOptions(option, custom, serverOptions);
@@ -78,7 +76,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildHttpClientOptions_ssl_withFactory() {
- ArchaiusUtils.setProperty("ssl.exist.sslOptionFactory",
SSLOptionFactoryForTest.class.getName());
+
Mockito.when(environment.getProperty("ssl.checkCN.host")).thenReturn("true");
HttpClientOptions clientOptions = new HttpClientOptions();
VertxTLSBuilder.buildHttpClientOptions("exist", clientOptions);
Assertions.assertTrue(clientOptions.isSsl());
@@ -87,7 +85,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildHttpClientOptions() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpClientOptions serverOptions = new HttpClientOptions();
VertxTLSBuilder.buildHttpClientOptions(option, custom, serverOptions);
@@ -97,7 +95,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildClientOptionsBase() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpClientOptions serverOptions = new HttpClientOptions();
VertxTLSBuilder.buildClientOptionsBase(option, custom, serverOptions);
@@ -107,7 +105,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildClientOptionsBaseFileNull() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
option.setKeyStore(null);
option.setTrustStore(null);
option.setCrl(null);
@@ -120,7 +118,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildClientOptionsBaseAuthPeerFalse() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpClientOptions serverOptions = new HttpClientOptions();
new MockUp<SSLOption>() {
@@ -137,7 +135,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildClientOptionsBaseSTORE_JKS() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpClientOptions serverOptions = new HttpClientOptions();
new MockUp<SSLOption>() {
@@ -154,7 +152,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildClientOptionsBaseSTORE_PKCS12() {
- SSLOption option = SSLOption.buildFromYaml("rest.consumer");
+ SSLOption option = SSLOption.buildFromYaml("rest.consumer", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpClientOptions serverOptions = new HttpClientOptions();
new MockUp<SSLOption>() {
@@ -171,7 +169,7 @@ public class TestVertxTLSBuilder {
@Test
public void testBuildHttpServerOptionsRequest() {
- SSLOption option = SSLOption.buildFromYaml("rest.provider");
+ SSLOption option = SSLOption.buildFromYaml("rest.provider", environment);
SSLCustom custom = SSLCustom.createSSLCustom(option.getSslCustomClass());
HttpServerOptions serverOptions = new HttpServerOptions();
diff --git
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthHandlerBoot.java
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthHandlerBoot.java
index 8c61ef7f8..068b599bb 100644
---
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthHandlerBoot.java
+++
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthHandlerBoot.java
@@ -22,6 +22,7 @@ import org.apache.servicecomb.core.BootListener;
import org.apache.servicecomb.core.BootListener.BootEvent;
import org.apache.servicecomb.core.SCBEngine;
import org.apache.servicecomb.core.bootstrap.SCBBootstrap;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.test.scaffolding.config.ArchaiusUtils;
import org.apache.servicecomb.foundation.token.Keypair4Auth;
import org.apache.servicecomb.registry.RegistrationManager;
@@ -32,6 +33,8 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
public class TestAuthHandlerBoot {
private SCBEngine engine;
@@ -39,6 +42,14 @@ public class TestAuthHandlerBoot {
@BeforeEach
public void setUp() {
ConfigUtil.installDynamicConfig();
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA"))
+ .thenReturn("RSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA"))
+ .thenReturn("SHA256withRSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keySize",
int.class, 2048))
+ .thenReturn(2048);
engine = SCBBootstrap.createSCBEngineForTest().run();
}
diff --git
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthenticationToken.java
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthenticationToken.java
index 9555a9066..c0c89874c 100644
---
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthenticationToken.java
+++
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/TestAuthenticationToken.java
@@ -21,13 +21,27 @@ import java.security.NoSuchAlgorithmException;
import java.security.SignatureException;
import java.security.spec.InvalidKeySpecException;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.utils.KeyPairUtils;
import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
public class TestAuthenticationToken {
-
+ @BeforeAll
+ public static void setUpClass() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA"))
+ .thenReturn("RSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA"))
+ .thenReturn("SHA256withRSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keySize",
int.class, 2048))
+ .thenReturn(2048);
+ }
@Test
public void testRSAAuthenticationToken()
diff --git
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestProviderTokenManager.java
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestProviderTokenManager.java
index db94319eb..cfa2364cf 100644
---
a/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestProviderTokenManager.java
+++
b/handlers/handler-publickey-auth/src/test/java/org/apache/servicecomb/authentication/provider/TestProviderTokenManager.java
@@ -22,6 +22,7 @@ import java.util.Map;
import org.apache.servicecomb.authentication.AuthenticationToken;
import org.apache.servicecomb.authentication.consumer.ConsumerTokenManager;
import org.apache.servicecomb.config.ConfigUtil;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.utils.KeyPairEntry;
import org.apache.servicecomb.foundation.common.utils.KeyPairUtils;
import org.apache.servicecomb.foundation.test.scaffolding.config.ArchaiusUtils;
@@ -40,12 +41,21 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
public class TestProviderTokenManager {
@BeforeEach
public void setUp() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keyGeneratorAlgorithm",
"RSA"))
+ .thenReturn("RSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.signAlgorithm",
"SHA256withRSA"))
+ .thenReturn("SHA256withRSA");
+
Mockito.when(environment.getProperty("servicecomb.publicKey.accessControl.keySize",
int.class, 2048))
+ .thenReturn(2048);
ConfigUtil.installDynamicConfig();
}
diff --git
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
index 1493fea1b..4f4769491 100644
---
a/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
+++
b/transports/transport-highway/src/main/java/org/apache/servicecomb/transport/highway/HighwayClient.java
@@ -26,6 +26,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.servicecomb.codec.protobuf.definition.OperationProtobuf;
import org.apache.servicecomb.codec.protobuf.definition.ProtobufManager;
import org.apache.servicecomb.core.Invocation;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.ssl.SSLCustom;
import org.apache.servicecomb.foundation.ssl.SSLOption;
import org.apache.servicecomb.foundation.ssl.SSLOptionFactory;
@@ -78,10 +79,10 @@ public class HighwayClient {
.getLongProperty("servicecomb.request.timeout",
TcpClientConfig.DEFAULT_LOGIN_TIMEOUT).get());
SSLOptionFactory factory =
- SSLOptionFactory.createSSLOptionFactory(SSL_KEY, null);
+ SSLOptionFactory.createSSLOptionFactory(SSL_KEY,
LegacyPropertyFactory.getEnvironment());
SSLOption sslOption;
if (factory == null) {
- sslOption = SSLOption.buildFromYaml(SSL_KEY);
+ sslOption = SSLOption.buildFromYaml(SSL_KEY,
LegacyPropertyFactory.getEnvironment());
} else {
sslOption = factory.createSSLOption();
}
diff --git
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
index 43db61433..3307474d9 100644
---
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
+++
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayClient.java
@@ -31,6 +31,7 @@ import org.apache.servicecomb.core.definition.OperationMeta;
import org.apache.servicecomb.core.executor.ReactiveExecutor;
import org.apache.servicecomb.core.invocation.InvocationStageTrace;
import org.apache.servicecomb.foundation.common.Holder;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.test.scaffolding.config.ArchaiusUtils;
import org.apache.servicecomb.foundation.vertx.VertxUtils;
import org.apache.servicecomb.foundation.vertx.client.ClientPoolManager;
@@ -45,6 +46,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.DeploymentOptions;
@@ -74,6 +76,8 @@ public class TestHighwayClient {
@BeforeClass
public static void setup() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
ArchaiusUtils.resetConfig();
ArchaiusUtils.setProperty(REQUEST_TIMEOUT_KEY, 2000);
diff --git
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayTransport.java
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayTransport.java
index 624fc6dd7..a4281e4f8 100644
---
a/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayTransport.java
+++
b/transports/transport-highway/src/test/java/org/apache/servicecomb/transport/highway/TestHighwayTransport.java
@@ -23,6 +23,7 @@ import org.apache.servicecomb.core.Endpoint;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.core.definition.OperationMeta;
import org.apache.servicecomb.foundation.common.Holder;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.net.URIEndpointObject;
import org.apache.servicecomb.foundation.vertx.VertxUtils;
import org.apache.servicecomb.swagger.invocation.AsyncResponse;
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.Assertions;
import org.mockito.Mockito;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.core.env.Environment;
import mockit.Mock;
import mockit.MockUp;
@@ -44,6 +46,8 @@ public class TestHighwayTransport {
@BeforeClass
public static void setup() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
VertxUtils.blockCloseVertxByName("transport");
Thread.getAllStackTraces().keySet().forEach(t -> LOGGER.info("before: {}",
t.getName()));
}
diff --git
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
index 9edf23126..80006e763 100644
---
a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
+++
b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/RestServerVerticle.java
@@ -30,6 +30,7 @@ import
org.apache.servicecomb.common.rest.codec.RestObjectMapperFactory;
import org.apache.servicecomb.core.Endpoint;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
import org.apache.servicecomb.core.transport.AbstractTransport;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.event.EventManager;
import org.apache.servicecomb.foundation.common.net.URIEndpointObject;
import org.apache.servicecomb.foundation.common.utils.ExceptionUtils;
@@ -309,10 +310,10 @@ public class RestServerVerticle extends AbstractVerticle {
}
if (endpointObject.isSslEnabled()) {
SSLOptionFactory factory =
- SSLOptionFactory.createSSLOptionFactory(SSL_KEY, null);
+ SSLOptionFactory.createSSLOptionFactory(SSL_KEY,
LegacyPropertyFactory.getEnvironment());
SSLOption sslOption;
if (factory == null) {
- sslOption = SSLOption.buildFromYaml(SSL_KEY);
+ sslOption = SSLOption.buildFromYaml(SSL_KEY,
LegacyPropertyFactory.getEnvironment());
} else {
sslOption = factory.createSSLOption();
}
diff --git
a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
index 13fe1bf41..c32b41b27 100644
---
a/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
+++
b/transports/transport-rest/transport-rest-vertx/src/test/java/org/apache/servicecomb/transport/rest/vertx/TestRestServerVerticle.java
@@ -28,6 +28,7 @@ import org.apache.servicecomb.core.Transport;
import org.apache.servicecomb.core.bootstrap.SCBBootstrap;
import org.apache.servicecomb.core.transport.AbstractTransport;
import org.apache.servicecomb.foundation.common.Holder;
+import org.apache.servicecomb.foundation.common.LegacyPropertyFactory;
import org.apache.servicecomb.foundation.common.net.URIEndpointObject;
import org.apache.servicecomb.foundation.test.scaffolding.config.ArchaiusUtils;
import org.apache.servicecomb.serviceregistry.RegistryUtils;
@@ -38,6 +39,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.mockito.Mockito;
+import org.springframework.core.env.Environment;
import io.vertx.core.Context;
import io.vertx.core.Handler;
@@ -63,6 +65,8 @@ public class TestRestServerVerticle {
@Before
public void setUp() {
+ Environment environment = Mockito.mock(Environment.class);
+ LegacyPropertyFactory.setEnvironment(environment);
ConfigUtil.installDynamicConfig();
instance = new RestServerVerticle();
startPromise = Promise.promise();