From 1268b1f8fcaea3fffb275d6ad90a922c4731f61f Mon Sep 17 00:00:00 2001 From: fit2-zhao Date: Thu, 23 Nov 2023 10:56:48 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=95=88=E8=AF=81=E4=B9=A6=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fit2-zhao --- .../apache/jmeter/config/KeystoreConfig.java | 16 ---------------- .../java/org/apache/jmeter/util/SSLManager.java | 17 ++++++++++------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/config/KeystoreConfig.java b/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/config/KeystoreConfig.java index 17ca8b439c..7018d94961 100644 --- a/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/config/KeystoreConfig.java +++ b/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/config/KeystoreConfig.java @@ -27,11 +27,6 @@ import org.apache.jorphan.util.JMeterStopTestException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; - /** * Configure Keystore */ @@ -105,12 +100,6 @@ public class KeystoreConfig extends ConfigTestElement implements TestBean, TestS // 加载认证文件 String path = this.getPropertyAsString("MS-KEYSTORE-FILE-PATH"); String password = this.getPropertyAsString("MS-KEYSTORE-FILE-PASSWORD"); - InputStream in = null; - try { - in = new FileInputStream(new File(path)); - } catch (IOException e) { - log.error(e.getMessage()); - } // 获取请求上的资源ID String resourceId = this.getPropertyAsString("MS-RESOURCE-ID"); if (StringUtils.isNotBlank(resourceId)) { @@ -124,11 +113,6 @@ public class KeystoreConfig extends ConfigTestElement implements TestBean, TestS SSLManager.keyMap.put(resourceId, dto); } - /*SSLManager.getInstance().configureKeystore(Boolean.parseBoolean(preload), - startIndexAsInt, - endIndexAsInt, - clientCertAliasVarName, in, password);*/ - } /** diff --git a/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/util/SSLManager.java b/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/util/SSLManager.java index 1d2df0d388..23728225b6 100644 --- a/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/util/SSLManager.java +++ b/framework/sdk-parent/jmeter/src/main/java/org/apache/jmeter/util/SSLManager.java @@ -367,9 +367,6 @@ public abstract class SSLManager { * @return the singleton {@link SSLManager} */ public static synchronized SSLManager getInstance() { - if (null == SSLManager.manager) { - SSLManager.manager = new JsseSSLManager(null); - } try { // 重新加载认证文件 JMeterContext threadContext = JMeterContextService.getContext(); @@ -381,16 +378,22 @@ public abstract class SSLManager { SSLManager.manager = new JsseSSLManager(null); SSLManager.manager.keyStore = null; // 加载认证文件 - InputStream in = new FileInputStream(new File(dto.getPath())); - SSLManager.manager.configureKeystore(Boolean.parseBoolean(dto.getPreload()), dto.getStartIndex(), - dto.getEndIndex(), dto.getClientCertAliasVarName(), in, dto.getPwd()); - log.info("加载认证文件完成 {}", resourceId); + try (InputStream in = new FileInputStream(new File(dto.getPath()))) { + SSLManager.manager.configureKeystore(Boolean.parseBoolean(dto.getPreload()), dto.getStartIndex(), + dto.getEndIndex(), dto.getClientCertAliasVarName(), in, dto.getPwd()); + log.info("加载认证文件完成 {}", resourceId); + } } } } catch (Exception e) { log.error("证书处理失败{}", e.getMessage()); } + // 初始化证书对象 + if (null == SSLManager.manager) { + SSLManager.manager = new JsseSSLManager(null); + } + return SSLManager.manager; }