diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base-convert.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base-convert.ts index 00f1614a..e25707cb 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base-convert.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base-convert.ts @@ -194,4 +194,13 @@ cert.jks:jks格式证书文件,java服务器使用 }; return newCert; } + + async readLastCert(): Promise { + const cert = this.lastStatus?.status?.output?.cert; + if (cert == null) { + this.logger.info("没有找到上次的证书"); + return undefined; + } + return new CertReader(cert); + } } 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 226e38b5..cd612334 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts @@ -130,15 +130,6 @@ export abstract class CertApplyBasePlugin extends CertApplyBaseConvertPlugin { return null; } - async readLastCert(): Promise { - const cert = this.lastStatus?.status?.output?.cert; - if (cert == null) { - this.logger.info("没有找到上次的证书"); - return undefined; - } - return new CertReader(cert); - } - /** * 检查是否过期,默认提前35天 * @param expires diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/custom/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/custom/index.ts index 3f147332..d11a719c 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/custom/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/custom/index.ts @@ -100,8 +100,17 @@ export class CertApplyUploadPlugin extends CertApplyBaseConvertPlugin { async onInit(): Promise {} async getCertFromStore() { - const certReader = new CertReader(this.uploadCert); - if (!certReader.expires && certReader.expires < new Date().getTime()) { + let certReader = null; + try { + this.logger.info("读取上次证书"); + certReader = await this.readLastCert(); + } catch (e) { + this.logger.warn("读取cert失败:", e); + } + if (certReader == null) { + certReader = new CertReader(this.uploadCert); + } + if (!certReader.expires || certReader.expires < new Date().getTime()) { throw new Error("证书已过期,停止部署,请重新上传证书"); }