From 889eaaea92818f628b922dae540c026630611707 Mon Sep 17 00:00:00 2001
From: xiaojunnuo <xiaojunnuo@qq.com>
Date: Wed, 13 Nov 2024 11:34:34 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20=E6=94=AF=E6=8C=81jks?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../plugins/plugin-cert/src/plugin/cert-plugin/base.ts    | 8 ++++----
 .../plugins/plugin-cert/src/plugin/cert-plugin/convert.ts | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
index 25fde2a5..0c3d0357 100644
--- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
+++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
@@ -152,28 +152,28 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
     }
     this._result.pipelinePrivateVars.cert = cert;
 
-    if (cert.pfx == null || cert.der == null) {
+    if (cert.pfx == null || cert.der == null || cert.jks == null) {
       try {
         const converter = new CertConverter({ logger: this.logger });
         const res = await converter.convert({
           cert,
           pfxPassword: this.pfxPassword,
         });
-        if (res.pfxPath) {
+        if (cert.pfx == null && res.pfxPath) {
           const pfxBuffer = fs.readFileSync(res.pfxPath);
           cert.pfx = pfxBuffer.toString("base64");
           fs.unlinkSync(res.pfxPath);
           isNew = true;
         }
 
-        if (res.derPath) {
+        if (cert.der == null && res.derPath) {
           const derBuffer = fs.readFileSync(res.derPath);
           cert.der = derBuffer.toString("base64");
           fs.unlinkSync(res.derPath);
           isNew = true;
         }
 
-        if (res.jksPath) {
+        if (cert.jks == null && res.jksPath) {
           const jksBuffer = fs.readFileSync(res.jksPath);
           cert.jks = jksBuffer.toString("base64");
           fs.unlinkSync(res.jksPath);
diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/convert.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/convert.ts
index 677b2a66..0a051dfb 100644
--- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/convert.ts
+++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/convert.ts
@@ -30,7 +30,7 @@ export class CertConverter {
       // 转der
       derPath = await this.convertDer(ctx);
 
-      //jksPath = await this.convertJks(ctx,  opts.pfxPassword);
+      jksPath = await this.convertJks(ctx, opts.pfxPassword);
     };
 
     await certReader.readCertFile({ logger: this.logger, handle });