@certd/plugin-cert 1.41.2 → 1.41.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +6 -6
  3. package/dist/access/eab-access.d.ts +0 -6
  4. package/dist/access/eab-access.js +0 -62
  5. package/dist/access/google-access.d.ts +0 -8
  6. package/dist/access/google-access.js +0 -119
  7. package/dist/access/index.d.ts +0 -2
  8. package/dist/access/index.js +0 -3
  9. package/dist/dns-provider/api.d.ts +0 -76
  10. package/dist/dns-provider/api.js +0 -2
  11. package/dist/dns-provider/base.d.ts +0 -27
  12. package/dist/dns-provider/base.js +0 -49
  13. package/dist/dns-provider/decorator.d.ts +0 -3
  14. package/dist/dns-provider/decorator.js +0 -18
  15. package/dist/dns-provider/domain-parser.d.ts +0 -9
  16. package/dist/dns-provider/domain-parser.js +0 -64
  17. package/dist/dns-provider/index.d.ts +0 -5
  18. package/dist/dns-provider/index.js +0 -6
  19. package/dist/dns-provider/registry.d.ts +0 -1
  20. package/dist/dns-provider/registry.js +0 -3
  21. package/dist/libs/google.d.ts +0 -11
  22. package/dist/libs/google.js +0 -59
  23. package/dist/plugin/cert-plugin/acme.d.ts +0 -123
  24. package/dist/plugin/cert-plugin/acme.js +0 -362
  25. package/dist/plugin/cert-plugin/base-convert.d.ts +0 -25
  26. package/dist/plugin/cert-plugin/base-convert.js +0 -210
  27. package/dist/plugin/cert-plugin/base.d.ts +0 -27
  28. package/dist/plugin/cert-plugin/base.js +0 -175
  29. package/dist/plugin/cert-plugin/cert-reader.d.ts +0 -51
  30. package/dist/plugin/cert-plugin/cert-reader.js +0 -206
  31. package/dist/plugin/cert-plugin/convert.d.ts +0 -26
  32. package/dist/plugin/cert-plugin/convert.js +0 -124
  33. package/dist/plugin/cert-plugin/custom/index.d.ts +0 -24
  34. package/dist/plugin/cert-plugin/custom/index.js +0 -202
  35. package/dist/plugin/cert-plugin/getter/aliyun.d.ts +0 -19
  36. package/dist/plugin/cert-plugin/getter/aliyun.js +0 -165
  37. package/dist/plugin/cert-plugin/index.d.ts +0 -62
  38. package/dist/plugin/cert-plugin/index.js +0 -672
  39. package/dist/plugin/cert-plugin/lego/dns.d.ts +0 -1
  40. package/dist/plugin/cert-plugin/lego/dns.js +0 -2
  41. package/dist/plugin/cert-plugin/lego/index.d.ts +0 -21
  42. package/dist/plugin/cert-plugin/lego/index.js +0 -256
  43. package/dist/plugin/index.d.ts +0 -6
  44. package/dist/plugin/index.js +0 -7
  45. package/stats.html +0 -6177
  46. package/test/dist/cert-plugin.test.js +0 -14
  47. package/test/dist/test/cert-plugin.test.js +0 -15
@@ -1,206 +0,0 @@
1
- import fs from "fs";
2
- import os from "os";
3
- import path from "path";
4
- import { crypto } from "@certd/acme-client";
5
- import dayjs from "dayjs";
6
- import { uniq } from "lodash-es";
7
- const formats = {
8
- pem: ["crt", "key", "ic"],
9
- one: ["one"],
10
- pfx: ["pfx"],
11
- der: ["der"],
12
- jks: ["jks"],
13
- p7b: ["p7b", "key"],
14
- };
15
- export class CertReader {
16
- cert;
17
- detail;
18
- //毫秒时间戳
19
- effective;
20
- //毫秒时间戳
21
- expires;
22
- constructor(certInfo) {
23
- this.cert = certInfo;
24
- if (!certInfo.ic) {
25
- this.cert.ic = this.getIc();
26
- }
27
- if (!certInfo.oc) {
28
- this.cert.oc = this.getOc();
29
- }
30
- if (!certInfo.one) {
31
- this.cert.one = this.cert.crt + "\n" + this.cert.key;
32
- }
33
- try {
34
- const { detail, effective, expires } = this.getCrtDetail(this.cert.crt);
35
- this.detail = detail;
36
- this.effective = effective.getTime();
37
- this.expires = expires.getTime();
38
- }
39
- catch (e) {
40
- throw new Error("证书解析失败:" + e.message);
41
- }
42
- }
43
- getIc() {
44
- //中间证书ic, 就是crt的第一个 -----END CERTIFICATE----- 之后的内容
45
- const endStr = "-----END CERTIFICATE-----";
46
- const firstBlockEndIndex = this.cert.crt.indexOf(endStr);
47
- const start = firstBlockEndIndex + endStr.length + 1;
48
- if (this.cert.crt.length <= start) {
49
- return "";
50
- }
51
- const ic = this.cert.crt.substring(start);
52
- if (ic == null) {
53
- return "";
54
- }
55
- return ic?.trim();
56
- }
57
- getOc() {
58
- //原始证书 就是crt的第一个 -----END CERTIFICATE----- 之前的内容
59
- const endStr = "-----END CERTIFICATE-----";
60
- const arr = this.cert.crt.split(endStr);
61
- return arr[0] + endStr;
62
- }
63
- toCertInfo(format) {
64
- if (!format) {
65
- return this.cert;
66
- }
67
- const formatArr = formats[format];
68
- const res = {};
69
- formatArr.forEach((key) => {
70
- res[key] = this.cert[key];
71
- });
72
- return res;
73
- }
74
- getCrtDetail(crt = this.cert.crt) {
75
- return CertReader.readCertDetail(crt);
76
- }
77
- static readCertDetail(crt) {
78
- const detail = crypto.readCertificateInfo(crt.toString());
79
- const effective = detail.notBefore;
80
- const expires = detail.notAfter;
81
- return { detail, effective, expires };
82
- }
83
- getAllDomains() {
84
- const { detail } = this.getCrtDetail();
85
- const domains = [];
86
- if (detail.domains?.commonName) {
87
- domains.push(detail.domains.commonName);
88
- }
89
- domains.push(...detail.domains.altNames);
90
- //去重
91
- return uniq(domains);
92
- }
93
- getAltNames() {
94
- const { detail } = this.getCrtDetail();
95
- return detail.domains.altNames;
96
- }
97
- static getMainDomain(crt) {
98
- const { detail } = CertReader.readCertDetail(crt);
99
- return CertReader.getMainDomainFromDetail(detail);
100
- }
101
- getMainDomain() {
102
- const { detail } = this.getCrtDetail();
103
- return CertReader.getMainDomainFromDetail(detail);
104
- }
105
- static getMainDomainFromDetail(detail) {
106
- let domain = detail?.domains?.commonName;
107
- if (domain == null) {
108
- domain = detail?.domains?.altNames?.[0];
109
- }
110
- if (domain == null) {
111
- domain = "unknown";
112
- }
113
- return domain;
114
- }
115
- saveToFile(type, filepath) {
116
- if (!this.cert[type]) {
117
- return;
118
- }
119
- if (filepath == null) {
120
- //写入临时目录
121
- filepath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + `_cert.${type}`);
122
- }
123
- const dir = path.dirname(filepath);
124
- if (!fs.existsSync(dir)) {
125
- fs.mkdirSync(dir, { recursive: true });
126
- }
127
- if (type === "crt" || type === "key" || type === "ic" || type === "oc" || type === "one" || type === "p7b") {
128
- fs.writeFileSync(filepath, this.cert[type]);
129
- }
130
- else {
131
- fs.writeFileSync(filepath, Buffer.from(this.cert[type], "base64"));
132
- }
133
- return filepath;
134
- }
135
- async readCertFile(opts) {
136
- const logger = opts.logger;
137
- logger.info("将证书写入本地缓存文件");
138
- const tmpCrtPath = this.saveToFile("crt");
139
- const tmpKeyPath = this.saveToFile("key");
140
- const tmpPfxPath = this.saveToFile("pfx");
141
- const tmpIcPath = this.saveToFile("ic");
142
- const tmpOcPath = this.saveToFile("oc");
143
- const tmpDerPath = this.saveToFile("der");
144
- const tmpJksPath = this.saveToFile("jks");
145
- const tmpOnePath = this.saveToFile("one");
146
- const tmpP7bPath = this.saveToFile("p7b");
147
- logger.info("本地文件写入成功");
148
- try {
149
- return await opts.handle({
150
- reader: this,
151
- tmpCrtPath,
152
- tmpKeyPath,
153
- tmpPfxPath,
154
- tmpDerPath,
155
- tmpIcPath,
156
- tmpJksPath,
157
- tmpOcPath,
158
- tmpP7bPath,
159
- tmpOnePath,
160
- });
161
- }
162
- catch (err) {
163
- logger.error("处理失败", err);
164
- throw err;
165
- }
166
- finally {
167
- //删除临时文件
168
- logger.info("清理临时文件");
169
- function removeFile(filepath) {
170
- if (filepath) {
171
- fs.unlinkSync(filepath);
172
- }
173
- }
174
- removeFile(tmpCrtPath);
175
- removeFile(tmpKeyPath);
176
- removeFile(tmpPfxPath);
177
- removeFile(tmpOcPath);
178
- removeFile(tmpDerPath);
179
- removeFile(tmpIcPath);
180
- removeFile(tmpJksPath);
181
- removeFile(tmpOnePath);
182
- removeFile(tmpP7bPath);
183
- }
184
- }
185
- buildCertFileName(suffix, applyTime, prefix = "cert") {
186
- let domain = this.getMainDomain();
187
- domain = domain.replaceAll(".", "_").replaceAll("*", "_");
188
- const timeStr = dayjs(applyTime).format("YYYYMMDDHHmmss");
189
- return `${prefix}_${domain}_${timeStr}.${suffix}`;
190
- }
191
- buildCertName(prefix = "") {
192
- let domain = this.getMainDomain();
193
- domain = domain.replaceAll(".", "_").replaceAll("*", "_");
194
- return `${prefix}_${domain}_${dayjs().format("YYYYMMDDHHmmssSSS")}`;
195
- }
196
- static appendTimeSuffix(name) {
197
- if (name == null) {
198
- name = "certd";
199
- }
200
- return name + "_" + dayjs().format("YYYYMMDDHHmmssSSS");
201
- }
202
- static buildCertName(cert) {
203
- return new CertReader(cert).buildCertName();
204
- }
205
- }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2NlcnQtcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBbUIsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFpQmpDLE1BQU0sT0FBTyxHQUFHO0lBQ2QsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7SUFDekIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ1osR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ1osR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ1osR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ1osR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztDQUNwQixDQUFDO0FBQ0YsTUFBTSxPQUFPLFVBQVU7SUFDckIsSUFBSSxDQUFXO0lBRWYsTUFBTSxDQUFrQjtJQUN4QixPQUFPO0lBQ1AsU0FBUyxDQUFTO0lBQ2xCLE9BQU87SUFDUCxPQUFPLENBQVM7SUFDaEIsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUVyQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZ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
@@ -1,26 +0,0 @@
1
- import { ILogger } from "@certd/basic";
2
- import type { CertInfo } from "../cert-plugin/acme.js";
3
- import { CertReader, CertReaderHandleContext } from "../cert-plugin/cert-reader.js";
4
- export { CertReader };
5
- export type { CertInfo };
6
- export declare class CertConverter {
7
- logger: ILogger;
8
- constructor(opts: {
9
- logger: ILogger;
10
- });
11
- convert(opts: {
12
- cert: CertInfo;
13
- pfxPassword: string;
14
- pfxArgs: string;
15
- }): Promise<{
16
- pfx: string;
17
- der: string;
18
- jks: string;
19
- p7b: string;
20
- }>;
21
- exec(cmd: string): Promise<void>;
22
- private convertPfx;
23
- private convertDer;
24
- convertP7b(opts: CertReaderHandleContext): Promise<string>;
25
- convertJks(opts: CertReaderHandleContext, pfxPassword?: string): Promise<string>;
26
- }
@@ -1,124 +0,0 @@
1
- import { sp } from "@certd/basic";
2
- import { CertReader } from "../cert-plugin/cert-reader.js";
3
- import path from "path";
4
- import os from "os";
5
- import fs from "fs";
6
- export { CertReader };
7
- export class CertConverter {
8
- logger;
9
- constructor(opts) {
10
- this.logger = opts.logger;
11
- }
12
- async convert(opts) {
13
- const certReader = new CertReader(opts.cert);
14
- let pfx;
15
- let der;
16
- let jks;
17
- let p7b;
18
- const handle = async (ctx) => {
19
- // 调用openssl 转pfx
20
- pfx = await this.convertPfx(ctx, opts.pfxPassword, opts.pfxArgs);
21
- // 转der
22
- der = await this.convertDer(ctx);
23
- jks = await this.convertJks(ctx, opts.pfxPassword);
24
- p7b = await this.convertP7b(ctx);
25
- };
26
- await certReader.readCertFile({ logger: this.logger, handle });
27
- return {
28
- pfx,
29
- der,
30
- jks,
31
- p7b,
32
- };
33
- }
34
- async exec(cmd) {
35
- process.env.LANG = "zh_CN.GBK";
36
- await sp.spawn({
37
- cmd: cmd,
38
- logger: this.logger,
39
- });
40
- }
41
- async convertPfx(opts, pfxPassword, pfxArgs) {
42
- const { tmpCrtPath, tmpKeyPath } = opts;
43
- const pfxPath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "_cert.pfx");
44
- const dir = path.dirname(pfxPath);
45
- if (!fs.existsSync(dir)) {
46
- fs.mkdirSync(dir, { recursive: true });
47
- }
48
- let passwordArg = "-passout pass:";
49
- if (pfxPassword) {
50
- passwordArg = `-password pass:${pfxPassword}`;
51
- }
52
- // 兼容server 2016,旧版本不能用sha256
53
- const oldPfxCmd = `openssl pkcs12 ${pfxArgs} -export -out ${pfxPath} -inkey ${tmpKeyPath} -in ${tmpCrtPath} ${passwordArg}`;
54
- // const newPfx = `openssl pkcs12 -export -out ${pfxPath} -inkey ${tmpKeyPath} -in ${tmpCrtPath} ${passwordArg}`;
55
- await this.exec(oldPfxCmd);
56
- const fileBuffer = fs.readFileSync(pfxPath);
57
- const pfxCert = fileBuffer.toString("base64");
58
- fs.unlinkSync(pfxPath);
59
- return pfxCert;
60
- //
61
- // const applyTime = new Date().getTime();
62
- // const filename = reader.buildCertFileName("pfx", applyTime);
63
- // this.saveFile(filename, fileBuffer);
64
- }
65
- async convertDer(opts) {
66
- const { tmpCrtPath } = opts;
67
- const derPath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + `_cert.der`);
68
- const dir = path.dirname(derPath);
69
- if (!fs.existsSync(dir)) {
70
- fs.mkdirSync(dir, { recursive: true });
71
- }
72
- await this.exec(`openssl x509 -outform der -in ${tmpCrtPath} -out ${derPath}`);
73
- const fileBuffer = fs.readFileSync(derPath);
74
- const derCert = fileBuffer.toString("base64");
75
- fs.unlinkSync(derPath);
76
- return derCert;
77
- }
78
- async convertP7b(opts) {
79
- const { tmpCrtPath } = opts;
80
- const p7bPath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + `_cert.p7b`);
81
- const dir = path.dirname(p7bPath);
82
- if (!fs.existsSync(dir)) {
83
- fs.mkdirSync(dir, { recursive: true });
84
- }
85
- //openssl crl2pkcs7 -nocrl \
86
- // -certfile your_domain.crt \
87
- // -certfile intermediate.crt \
88
- // -out chain.p7b
89
- await this.exec(`openssl crl2pkcs7 -nocrl -certfile ${tmpCrtPath} -out ${p7bPath}`);
90
- const fileBuffer = fs.readFileSync(p7bPath);
91
- const p7bCert = fileBuffer.toString();
92
- fs.unlinkSync(p7bPath);
93
- return p7bCert;
94
- }
95
- async convertJks(opts, pfxPassword = "") {
96
- const jksPassword = pfxPassword || "123456";
97
- try {
98
- const randomStr = Math.floor(Math.random() * 1000000) + "";
99
- const p12Path = path.join(os.tmpdir(), "/certd/tmp/", randomStr + `_cert.p12`);
100
- const { tmpCrtPath, tmpKeyPath } = opts;
101
- let passwordArg = "-passout pass:";
102
- if (jksPassword) {
103
- passwordArg = `-password pass:${jksPassword}`;
104
- }
105
- await this.exec(`openssl pkcs12 -export -in ${tmpCrtPath} -inkey ${tmpKeyPath} -out ${p12Path} -name certd ${passwordArg}`);
106
- const jksPath = path.join(os.tmpdir(), "/certd/tmp/", randomStr + `_cert.jks`);
107
- const dir = path.dirname(jksPath);
108
- if (!fs.existsSync(dir)) {
109
- fs.mkdirSync(dir, { recursive: true });
110
- }
111
- await this.exec(`keytool -importkeystore -srckeystore ${p12Path} -srcstoretype PKCS12 -srcstorepass "${jksPassword}" -destkeystore ${jksPath} -deststoretype PKCS12 -deststorepass "${jksPassword}" `);
112
- fs.unlinkSync(p12Path);
113
- const fileBuffer = fs.readFileSync(jksPath);
114
- const certBase64 = fileBuffer.toString("base64");
115
- fs.unlinkSync(jksPath);
116
- return certBase64;
117
- }
118
- catch (e) {
119
- this.logger.error("转换jks失败", e);
120
- return;
121
- }
122
- }
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vY2VydC1wbHVnaW4vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsRUFBRSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQTJCLE1BQU0sK0JBQStCLENBQUM7QUFDcEYsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBR3RCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBVTtJQUVoQixZQUFZLElBQXlCO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUE4RDtRQU0xRSxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxHQUFXLENBQUM7UUFDaEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQTRCLEVBQUUsRUFBRTtZQUNwRCxpQkFBaUI7WUFDakIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFakUsT0FBTztZQUNQLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFakMsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFB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
@@ -1,24 +0,0 @@
1
- import type { CertInfo } from "../acme.js";
2
- import { CertReader } from "../cert-reader.js";
3
- import { CertApplyBaseConvertPlugin } from "../base-convert.js";
4
- export { CertReader };
5
- export type { CertInfo };
6
- export declare class CertApplyUploadPlugin extends CertApplyBaseConvertPlugin {
7
- renewDays: number;
8
- uploadCert: CertInfo;
9
- certMd5?: string;
10
- onInstance(): Promise<void>;
11
- onInit(): Promise<void>;
12
- getCertFromStore(): Promise<any>;
13
- private checkExpires;
14
- execute(): Promise<string | void>;
15
- onCertUpdate(data: any): Promise<{
16
- input: {
17
- uploadCert: {
18
- crt: any;
19
- key: any;
20
- };
21
- domains: any;
22
- };
23
- }>;
24
- }
@@ -1,202 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { IsTaskPlugin, pluginGroups, RunStrategy, TaskInput, TaskOutput } from "@certd/pipeline";
11
- import { CertReader } from "../cert-reader.js";
12
- import { CertApplyBaseConvertPlugin } from "../base-convert.js";
13
- import dayjs from "dayjs";
14
- export { CertReader };
15
- let CertApplyUploadPlugin = class CertApplyUploadPlugin extends CertApplyBaseConvertPlugin {
16
- renewDays;
17
- uploadCert;
18
- certMd5;
19
- async onInstance() {
20
- this.accessService = this.ctx.accessService;
21
- this.logger = this.ctx.logger;
22
- this.userContext = this.ctx.userContext;
23
- this.lastStatus = this.ctx.lastStatus;
24
- }
25
- async onInit() { }
26
- async getCertFromStore() {
27
- let certReader = null;
28
- try {
29
- this.logger.info("读取上次证书");
30
- certReader = await this.readLastCert();
31
- }
32
- catch (e) {
33
- this.logger.warn("读取cert失败:", e);
34
- }
35
- return certReader;
36
- }
37
- checkExpires(certReader) {
38
- const renewDays = (this.renewDays ?? 10) * 24 * 60 * 60 * 1000;
39
- if (certReader.expires) {
40
- if (certReader.expires < new Date().getTime()) {
41
- throw new Error("证书已过期,停止部署,请尽快上传新证书");
42
- }
43
- if (certReader.expires < new Date().getTime() + renewDays) {
44
- throw new Error("证书即将已过期,停止部署,请尽快上传新证书");
45
- }
46
- }
47
- }
48
- async execute() {
49
- const oldCertReader = await this.getCertFromStore();
50
- if (oldCertReader) {
51
- const leftDays = dayjs(oldCertReader.expires).diff(dayjs(), "day");
52
- this.logger.info(`证书过期时间${dayjs(oldCertReader.expires).format("YYYY-MM-DD HH:mm:ss")},剩余${leftDays}天`);
53
- this.checkExpires(oldCertReader);
54
- if (!this.ctx.inputChanged) {
55
- this.logger.info("输入参数无变化");
56
- const lastCrtMd5 = this.lastStatus?.status?.output?.certMd5;
57
- const newCrtMd5 = this.ctx.utils.hash.md5(this.uploadCert.crt);
58
- this.logger.info("证书MD5", newCrtMd5);
59
- this.logger.info("上次证书MD5", lastCrtMd5);
60
- if (lastCrtMd5 === newCrtMd5) {
61
- this.logger.info("证书无变化,跳过");
62
- //输出证书MD5
63
- this.certMd5 = newCrtMd5;
64
- await this.output(oldCertReader, false);
65
- return "skip";
66
- }
67
- this.logger.info("证书有变化,重新部署");
68
- }
69
- else {
70
- this.logger.info("输入参数有变化,重新部署");
71
- }
72
- }
73
- const newCertReader = new CertReader(this.uploadCert);
74
- this.clearLastStatus();
75
- //输出证书MD5
76
- this.certMd5 = this.ctx.utils.hash.md5(newCertReader.cert.crt);
77
- const newLeftDays = dayjs(newCertReader.expires).diff(dayjs(), "day");
78
- this.logger.info(`新证书过期时间${dayjs(newCertReader.expires).format("YYYY-MM-DD HH:mm:ss")},剩余${newLeftDays}天`);
79
- this.checkExpires(newCertReader);
80
- await this.output(newCertReader, true);
81
- //必须output之后执行
82
- await this.emitCertApplySuccess();
83
- return;
84
- }
85
- async onCertUpdate(data) {
86
- const certReader = new CertReader(data);
87
- return {
88
- input: {
89
- uploadCert: {
90
- crt: data.crt,
91
- key: data.key,
92
- },
93
- domains: certReader.getAllDomains(),
94
- },
95
- };
96
- }
97
- };
98
- __decorate([
99
- TaskInput({
100
- title: "过期前提醒",
101
- value: 10,
102
- component: {
103
- name: "a-input-number",
104
- vModel: "value",
105
- },
106
- required: true,
107
- order: 100,
108
- helper: "到期前多少天提醒",
109
- }),
110
- __metadata("design:type", Number)
111
- ], CertApplyUploadPlugin.prototype, "renewDays", void 0);
112
- __decorate([
113
- TaskInput({
114
- title: "手动上传证书",
115
- component: {
116
- name: "cert-info-updater",
117
- vModel: "modelValue",
118
- },
119
- helper: "手动上传证书",
120
- order: -9999,
121
- required: true,
122
- mergeScript: `
123
- return {
124
- component:{
125
- on:{
126
- updated(scope){
127
- scope.form.input.domains = scope.$event?.domains
128
- }
129
- }
130
- }
131
- }
132
- `,
133
- }),
134
- __metadata("design:type", Object)
135
- ], CertApplyUploadPlugin.prototype, "uploadCert", void 0);
136
- __decorate([
137
- TaskOutput({
138
- title: "证书MD5",
139
- type: "certMd5",
140
- }),
141
- __metadata("design:type", String)
142
- ], CertApplyUploadPlugin.prototype, "certMd5", void 0);
143
- CertApplyUploadPlugin = __decorate([
144
- IsTaskPlugin({
145
- name: "CertApplyUpload",
146
- icon: "ph:certificate",
147
- title: "商用证书托管",
148
- group: pluginGroups.cert.key,
149
- desc: "手动上传自定义证书后,自动部署(每次证书有更新,都需要手动上传一次)",
150
- default: {
151
- strategy: {
152
- runStrategy: RunStrategy.AlwaysRun,
153
- },
154
- },
155
- shortcut: {
156
- certUpdate: {
157
- title: "更新证书",
158
- icon: "ion:upload",
159
- action: "onCertUpdate",
160
- form: {
161
- columns: {
162
- crt: {
163
- title: "证书",
164
- type: "text",
165
- form: {
166
- component: {
167
- name: "pem-input",
168
- vModel: "modelValue",
169
- textarea: {
170
- rows: 4,
171
- placeholder: "-----BEGIN CERTIFICATE-----\n...\n...\n-----END CERTIFICATE-----",
172
- },
173
- },
174
- rules: [{ required: true, message: "此项必填" }],
175
- col: { span: 24 },
176
- },
177
- },
178
- key: {
179
- title: "私钥",
180
- type: "text",
181
- form: {
182
- component: {
183
- name: "pem-input",
184
- vModel: "modelValue",
185
- textarea: {
186
- rows: 4,
187
- placeholder: "-----BEGIN PRIVATE KEY-----\n...\n...\n-----END PRIVATE KEY----- ",
188
- },
189
- },
190
- rules: [{ required: true, message: "此项必填" }],
191
- col: { span: 24 },
192
- },
193
- },
194
- },
195
- },
196
- },
197
- },
198
- })
199
- ], CertApplyUploadPlugin);
200
- export { CertApplyUploadPlugin };
201
- new CertApplyUploadPlugin();
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2N1c3RvbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVEsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBMERmLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsMEJBQTBCO0lBWW5FLFNBQVMsQ0FBVTtJQXVCbkIsVUFBVSxDQUFZO0lBTXRCLE9BQU8sQ0FBVTtJQUVqQixLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFrQixDQUFDO0lBQ2hELENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxLQUFtQixDQUFDO0lBRWhDLEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNCLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLFlBQVksQ0FBQyxVQUFzQjtRQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQy9ELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLElBQUksVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7Z0JBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztZQUN2RyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztnQkFDNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUM3QixTQUFTO29CQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO29CQUN6QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUN4QyxPQUFPLE1BQU0sQ0FBQztnQkFDaEIsQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLFNBQVM7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsY0FBYztRQUNkLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbEMsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQVM7UUFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsT0FBTztZQUNMLEtBQUssRUFBRTtnQkFDTCxVQUFVLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO29CQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQkFDZDtnQkFDRCxPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsRUFBRTthQUNwQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQWxIQztJQVhDLFNBQVMsQ0FBQztRQUNULEtBQUssRUFBRSxPQUFPO1FBQ2QsS0FBSyxFQUFFLEVBQUU7UUFDVCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLE1BQU0sRUFBRSxPQUFPO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFLElBQUk7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxVQUFVO0tBQ25CLENBQUM7O3dEQUNpQjtBQXVCbkI7SUFyQkMsU0FBUyxDQUFDO1FBQ1QsS0FBSyxFQUFFLFFBQVE7UUFDZixTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE1BQU0sRUFBRSxZQUFZO1NBQ3JCO1FBQ0QsTUFBTSxFQUFFLFFBQVE7UUFDaEIsS0FBSyxFQUFFLENBQUMsSUFBSTtRQUNaLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFOzs7Ozs7Ozs7O0tBVVo7S0FDRixDQUFDOzt5REFDb0I7QUFNdEI7SUFKQyxVQUFVLENBQUM7UUFDVixLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUM7O3NEQUNlO0FBekNOLHFCQUFxQjtJQXZEakMsWUFBWSxDQUFDO1FBQ1osSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLEtBQUssRUFBRSxRQUFRO1FBQ2YsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRztRQUM1QixJQUFJLEVBQUUsb0NBQW9DO1FBQzFDLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRTtnQkFDUixXQUFXLEVBQUUsV0FBVyxDQUFDLFNBQVM7YUFDbkM7U0FDRjtRQUNELFFBQVEsRUFBRTtZQUNSLFVBQVUsRUFBRTtnQkFDVixLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLElBQUksRUFBRTtvQkFDSixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxFQUFFOzRCQUNILEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxNQUFNOzRCQUNaLElBQUksRUFBRTtnQ0FDSixTQUFTLEVBQUU7b0NBQ1QsSUFBSSxFQUFFLFdBQVc7b0NBQ2pCLE1BQU0sRUFBRSxZQUFZO29DQUNwQixRQUFRLEVBQUU7d0NBQ1IsSUFBSSxFQUFFLENBQUM7d0NBQ1AsV0FBVyxFQUFFLGtFQUFrRTtxQ0FDaEY7aUNBQ0Y7Z0NBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQ0FDNUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTs2QkFDbEI7eUJBQ0Y7d0JBQ0QsR0FBRyxFQUFFOzRCQUNILEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxNQUFNOzRCQUNaLElBQUksRUFBRTtnQ0FDSixTQUFTLEVBQUU7b0NBQ1QsSUFBSSxFQUFFLFdBQVc7b0NBQ2pCLE1BQU0sRUFBRSxZQUFZO29DQUNwQixRQUFRLEVBQUU7d0NBQ1IsSUFBSSxFQUFFLENBQUM7d0NBQ1AsV0FBVyxFQUFFLG1FQUFtRTtxQ0FDakY7aUNBQ0Y7Z0NBQ0QsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztnQ0FDNUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTs2QkFDbEI7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQztHQUNXLHFCQUFxQixDQThIakM7O0FBRUQsSUFBSSxxQkFBcUIsRUFBRSxDQUFDIn0=
@@ -1,19 +0,0 @@
1
- import { PageSearch } from "@certd/pipeline";
2
- import type { CertInfo } from "../acme.js";
3
- import { CertApplyBasePlugin } from "../base.js";
4
- import { CertReader } from "../cert-reader.js";
5
- export { CertReader };
6
- export type { CertInfo };
7
- export declare class CertApplyGetFormAliyunPlugin extends CertApplyBasePlugin {
8
- accessId: string;
9
- orderId: string;
10
- onInit(): Promise<void>;
11
- doCertApply(): Promise<CertReader>;
12
- getCertDetail(client: any, certId: any): Promise<CertReader>;
13
- getCertificateState(client: any, orderId: any): Promise<{
14
- CertId: string;
15
- Type: string;
16
- Domain: string;
17
- }>;
18
- onGetOrderList(req: PageSearch): Promise<any>;
19
- }