@certd/plugin-cert 1.24.0 → 1.24.2

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.
@@ -11,14 +11,16 @@ import { AbstractTaskPlugin, TaskInput, TaskOutput } from "@certd/pipeline";
11
11
  import dayjs from "dayjs";
12
12
  import { CertReader } from "./cert-reader.js";
13
13
  import JSZip from "jszip";
14
+ import { CertConverter } from "./convert.js";
15
+ import fs from "fs";
14
16
  export { CertReader };
15
17
  export class CertApplyBasePlugin extends AbstractTaskPlugin {
16
18
  domains;
17
19
  email;
20
+ pfxPassword;
18
21
  renewDays;
19
22
  forceUpdate;
20
23
  successNotify = true;
21
- intro;
22
24
  // @TaskInput({
23
25
  // title: "CsrInfo",
24
26
  // helper: "暂时没有用",
@@ -56,22 +58,42 @@ export class CertApplyBasePlugin extends AbstractTaskPlugin {
56
58
  const cert = certReader.toCertInfo();
57
59
  this.cert = cert;
58
60
  this._result.pipelineVars.certExpiresTime = dayjs(certReader.detail.notAfter).valueOf();
61
+ if (cert.pfx == null || cert.der == null) {
62
+ try {
63
+ const converter = new CertConverter({ logger: this.logger });
64
+ const res = await converter.convert({
65
+ cert,
66
+ pfxPassword: this.pfxPassword,
67
+ });
68
+ const pfxBuffer = fs.readFileSync(res.pfxPath);
69
+ cert.pfx = pfxBuffer.toString("base64");
70
+ const derBuffer = fs.readFileSync(res.derPath);
71
+ cert.der = derBuffer.toString("base64");
72
+ this.logger.info("转换证书格式成功");
73
+ isNew = true;
74
+ }
75
+ catch (e) {
76
+ this.logger.error("转换证书格式失败", e);
77
+ }
78
+ }
59
79
  if (isNew) {
60
- const applyTime = dayjs(certReader.detail.notBefore).format("YYYYMMDD_HHmmss");
61
- await this.zipCert(cert, applyTime);
80
+ const zipFileName = certReader.buildCertFileName("zip", certReader.detail.notBefore);
81
+ await this.zipCert(cert, zipFileName);
62
82
  }
63
83
  else {
64
84
  this.extendsFiles();
65
85
  }
66
- // thi
67
- // s.logger.info(JSON.stringify(certReader.detail));
68
86
  }
69
- async zipCert(cert, applyTime) {
87
+ async zipCert(cert, filename) {
70
88
  const zip = new JSZip();
71
89
  zip.file("cert.crt", cert.crt);
72
90
  zip.file("cert.key", cert.key);
73
- const domain_name = this.domains[0].replace(".", "_").replace("*", "_");
74
- const filename = `cert_${domain_name}_${applyTime}.zip`;
91
+ if (cert.pfx) {
92
+ zip.file("cert.pfx", Buffer.from(cert.pfx, "base64"));
93
+ }
94
+ if (cert.der) {
95
+ zip.file("cert.der", Buffer.from(cert.der, "base64"));
96
+ }
75
97
  const content = await zip.generateAsync({ type: "nodebuffer" });
76
98
  this.saveFile(filename, content);
77
99
  this.logger.info(`已保存文件:${filename}`);
@@ -174,6 +196,7 @@ __decorate([
174
196
  vModel: "value",
175
197
  mode: "tags",
176
198
  open: false,
199
+ tokenSeparators: [",", " ", ",", "、", "|"],
177
200
  },
178
201
  required: true,
179
202
  col: {
@@ -183,7 +206,7 @@ __decorate([
183
206
  helper: "1、支持通配符域名,例如: *.foo.com、foo.com、*.test.handsfree.work\n" +
184
207
  "2、支持多个域名、多个子域名、多个通配符域名打到一个证书上(域名必须是在同一个DNS提供商解析)\n" +
185
208
  "3、多级子域名要分成多个域名输入(*.foo.com的证书不能用于xxx.yyy.foo.com、foo.com)\n" +
186
- "4、输入一个回车之后,再输入下一个",
209
+ "4、输入一个空格之后,再输入下一个",
187
210
  }),
188
211
  __metadata("design:type", Array)
189
212
  ], CertApplyBasePlugin.prototype, "domains", void 0);
@@ -200,6 +223,19 @@ __decorate([
200
223
  }),
201
224
  __metadata("design:type", String)
202
225
  ], CertApplyBasePlugin.prototype, "email", void 0);
226
+ __decorate([
227
+ TaskInput({
228
+ title: "PFX密码",
229
+ component: {
230
+ name: "a-input-password",
231
+ vModel: "value",
232
+ },
233
+ required: false,
234
+ order: 100,
235
+ helper: "PFX格式证书是否需要加密",
236
+ }),
237
+ __metadata("design:type", String)
238
+ ], CertApplyBasePlugin.prototype, "pfxPassword", void 0);
203
239
  __decorate([
204
240
  TaskInput({
205
241
  title: "更新天数",
@@ -239,18 +275,10 @@ __decorate([
239
275
  }),
240
276
  __metadata("design:type", Object)
241
277
  ], CertApplyBasePlugin.prototype, "successNotify", void 0);
242
- __decorate([
243
- TaskInput({
244
- title: "配置说明",
245
- order: 9999,
246
- helper: "运行策略请选择总是运行,其他证书部署任务请选择成功后跳过;当证书快到期前将会自动重新申请证书,然后会清空后续任务的成功状态,部署任务将会重新运行",
247
- }),
248
- __metadata("design:type", String)
249
- ], CertApplyBasePlugin.prototype, "intro", void 0);
250
278
  __decorate([
251
279
  TaskOutput({
252
280
  title: "域名证书",
253
281
  }),
254
282
  __metadata("design:type", Object)
255
283
  ], CertApplyBasePlugin.prototype, "cert", void 0);
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vY2VydC1wbHVnaW4vYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQThCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFHdEIsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxrQkFBa0I7SUFvQmxFLE9BQU8sQ0FBWTtJQVluQixLQUFLLENBQVU7SUFhZixTQUFTLENBQVU7SUFXbkIsV0FBVyxDQUFVO0lBWXJCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFPckIsS0FBSyxDQUFVO0lBRWYsZUFBZTtJQUNmLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsS0FBSztJQUNMLE9BQU8sQ0FBVTtJQUVqQixXQUFXLENBQVk7SUFDdkIsSUFBSSxDQUFjO0lBQ2xCLFVBQVUsQ0FBUTtJQUtsQixJQUFJLENBQVk7SUFFaEIsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQWtCLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFF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
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vY2VydC1wbHVnaW4vYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQThCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFHdEIsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxrQkFBa0I7SUFxQmxFLE9BQU8sQ0FBWTtJQVluQixLQUFLLENBQVU7SUFZZixXQUFXLENBQVU7SUFhckIsU0FBUyxDQUFVO0lBV25CLFdBQVcsQ0FBVTtJQVlyQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBRXJCLGVBQWU7SUFDZixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLEtBQUs7SUFDTCxPQUFPLENBQVU7SUFFakIsV0FBVyxDQUFZO0lBQ3ZCLElBQUksQ0FBYztJQUNsQixVQUFVLENBQVE7SUFLbEIsSUFBSSxDQUFZO0lBRWhCLEtBQUssQ0FBQyxVQUFVO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFrQixDQUFDO1FBQzlDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lB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
@@ -1,15 +1,31 @@
1
- import { CertInfo } from "./acme.js";
2
- export declare class CertReader implements CertInfo {
3
- crt: string;
4
- key: string;
5
- csr: string;
6
- detail: any;
7
- expires: number;
8
- constructor(certInfo: CertInfo);
9
- toCertInfo(): CertInfo;
10
- getCrtDetail(crt: string): {
11
- detail: import("@certd/acme-client").CertificateInfo;
12
- expires: Date;
13
- };
14
- saveToFile(type: "crt" | "key", filepath?: string): string;
15
- }
1
+ import { CertInfo } from "./acme.js";
2
+ import { ILogger } from "@certd/pipeline";
3
+ export type CertReaderHandleContext = {
4
+ reader: CertReader;
5
+ tmpCrtPath: string;
6
+ tmpKeyPath: string;
7
+ tmpPfxPath?: string;
8
+ tmpDerPath?: string;
9
+ };
10
+ export type CertReaderHandle = (ctx: CertReaderHandleContext) => Promise<void>;
11
+ export type HandleOpts = {
12
+ logger: ILogger;
13
+ handle: CertReaderHandle;
14
+ };
15
+ export declare class CertReader {
16
+ cert: CertInfo;
17
+ crt: string;
18
+ key: string;
19
+ csr: string;
20
+ detail: any;
21
+ expires: number;
22
+ constructor(certInfo: CertInfo);
23
+ toCertInfo(): CertInfo;
24
+ getCrtDetail(crt?: string): {
25
+ detail: import("@certd/acme-client").CertificateInfo;
26
+ expires: Date;
27
+ };
28
+ saveToFile(type: "crt" | "key" | "pfx" | "der", filepath?: string): string;
29
+ readCertFile(opts: HandleOpts): Promise<void>;
30
+ buildCertFileName(suffix: string, applyTime: number, prefix?: string): string;
31
+ }
@@ -1,44 +1,89 @@
1
- import fs from "fs";
2
- import os from "os";
3
- import path from "path";
4
- import { crypto } from "@certd/acme-client";
5
- export class CertReader {
6
- crt;
7
- key;
8
- csr;
9
- detail;
10
- expires;
11
- constructor(certInfo) {
12
- this.crt = certInfo.crt;
13
- this.key = certInfo.key;
14
- this.csr = certInfo.csr;
15
- const { detail, expires } = this.getCrtDetail(this.crt);
16
- this.detail = detail;
17
- this.expires = expires.getTime();
18
- }
19
- toCertInfo() {
20
- return {
21
- crt: this.crt,
22
- key: this.key,
23
- csr: this.csr,
24
- };
25
- }
26
- getCrtDetail(crt) {
27
- const detail = crypto.readCertificateInfo(crt.toString());
28
- const expires = detail.notAfter;
29
- return { detail, expires };
30
- }
31
- saveToFile(type, filepath) {
32
- if (filepath == null) {
33
- //写入临时目录
34
- filepath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "", `cert.${type}`);
35
- }
36
- const dir = path.dirname(filepath);
37
- if (!fs.existsSync(dir)) {
38
- fs.mkdirSync(dir, { recursive: true });
39
- }
40
- fs.writeFileSync(filepath, this[type]);
41
- return filepath;
42
- }
43
- }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2NlcnQtcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxNQUFNLE9BQU8sVUFBVTtJQUNyQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFFWixNQUFNLENBQU07SUFDWixPQUFPLENBQVM7SUFDaEIsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUV4QixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQW1CLEVBQUUsUUFBaUI7UUFDL0MsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3BCLFFBQVE7WUFDUixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7U0FDNUc7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDeEM7UUFFRCxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YifQ==
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
+ export class CertReader {
7
+ cert;
8
+ crt;
9
+ key;
10
+ csr;
11
+ detail;
12
+ expires;
13
+ constructor(certInfo) {
14
+ this.cert = certInfo;
15
+ this.crt = certInfo.crt;
16
+ this.key = certInfo.key;
17
+ this.csr = certInfo.csr;
18
+ const { detail, expires } = this.getCrtDetail(this.cert.crt);
19
+ this.detail = detail;
20
+ this.expires = expires.getTime();
21
+ }
22
+ toCertInfo() {
23
+ return this.cert;
24
+ }
25
+ getCrtDetail(crt = this.cert.crt) {
26
+ const detail = crypto.readCertificateInfo(crt.toString());
27
+ const expires = detail.notAfter;
28
+ return { detail, expires };
29
+ }
30
+ saveToFile(type, filepath) {
31
+ if (!this.cert[type]) {
32
+ return;
33
+ }
34
+ if (filepath == null) {
35
+ //写入临时目录
36
+ filepath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "", `cert.${type}`);
37
+ }
38
+ const dir = path.dirname(filepath);
39
+ if (!fs.existsSync(dir)) {
40
+ fs.mkdirSync(dir, { recursive: true });
41
+ }
42
+ if (type === "crt" || type === "key") {
43
+ fs.writeFileSync(filepath, this.cert[type]);
44
+ }
45
+ else {
46
+ fs.writeFileSync(filepath, Buffer.from(this.cert[type], "base64"));
47
+ }
48
+ return filepath;
49
+ }
50
+ async readCertFile(opts) {
51
+ const logger = opts.logger;
52
+ logger.info("将证书写入本地缓存文件");
53
+ const tmpCrtPath = this.saveToFile("crt");
54
+ const tmpKeyPath = this.saveToFile("key");
55
+ const tmpPfxPath = this.saveToFile("pfx");
56
+ const tmpDerPath = this.saveToFile("der");
57
+ logger.info("本地文件写入成功");
58
+ try {
59
+ await opts.handle({
60
+ reader: this,
61
+ tmpCrtPath: tmpCrtPath,
62
+ tmpKeyPath: tmpKeyPath,
63
+ tmpPfxPath: tmpPfxPath,
64
+ tmpDerPath: tmpDerPath,
65
+ });
66
+ }
67
+ finally {
68
+ //删除临时文件
69
+ logger.info("删除临时文件");
70
+ function removeFile(filepath) {
71
+ if (filepath) {
72
+ fs.unlinkSync(filepath);
73
+ }
74
+ }
75
+ removeFile(tmpCrtPath);
76
+ removeFile(tmpKeyPath);
77
+ removeFile(tmpPfxPath);
78
+ removeFile(tmpDerPath);
79
+ }
80
+ }
81
+ buildCertFileName(suffix, applyTime, prefix = "cert") {
82
+ const detail = this.getCrtDetail();
83
+ let domain = detail.detail.domains.commonName;
84
+ domain = domain.replace(".", "_").replace("*", "_");
85
+ const timeStr = dayjs(applyTime).format("YYYYMMDDHHmmss");
86
+ return `${prefix}_${domain}_${timeStr}.${suffix}`;
87
+ }
88
+ }
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2NlcnQtcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFLMUIsTUFBTSxPQUFPLFVBQVU7SUFDckIsSUFBSSxDQUFXO0lBQ2YsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBRVosTUFBTSxDQUFNO0lBQ1osT0FBTyxDQUFTO0lBQ2hCLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFFeEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztRQUN0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
@@ -0,0 +1,21 @@
1
+ import { ILogger } from "@certd/pipeline";
2
+ import type { CertInfo } from "../cert-plugin/acme.js";
3
+ import { CertReader } 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
+ }): Promise<{
15
+ pfxPath: string;
16
+ derPath: string;
17
+ }>;
18
+ exec(cmd: string): Promise<void>;
19
+ private convertPfx;
20
+ private convertDer;
21
+ }
@@ -0,0 +1,71 @@
1
+ import { sp } from "@certd/pipeline";
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 pfxPath;
15
+ let derPath;
16
+ const handle = async (opts) => {
17
+ // 调用openssl 转pfx
18
+ pfxPath = await this.convertPfx(opts);
19
+ // 转der
20
+ derPath = await this.convertDer(opts);
21
+ };
22
+ await certReader.readCertFile({ logger: this.logger, handle });
23
+ return {
24
+ pfxPath,
25
+ derPath,
26
+ };
27
+ }
28
+ async exec(cmd) {
29
+ await sp.spawn({
30
+ cmd: cmd,
31
+ logger: this.logger,
32
+ });
33
+ }
34
+ async convertPfx(opts, pfxPassword) {
35
+ const { tmpCrtPath, tmpKeyPath } = opts;
36
+ const pfxPath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "", "cert.pfx");
37
+ const dir = path.dirname(pfxPath);
38
+ if (!fs.existsSync(dir)) {
39
+ fs.mkdirSync(dir, { recursive: true });
40
+ }
41
+ let passwordArg = "-passout pass:";
42
+ if (pfxPassword) {
43
+ passwordArg = `-password pass:${pfxPassword}`;
44
+ }
45
+ await this.exec(`openssl pkcs12 -export -out ${pfxPath} -inkey ${tmpKeyPath} -in ${tmpCrtPath} ${passwordArg}`);
46
+ return pfxPath;
47
+ // const fileBuffer = fs.readFileSync(pfxPath);
48
+ // this.pfxCert = fileBuffer.toString("base64");
49
+ //
50
+ // const applyTime = new Date().getTime();
51
+ // const filename = reader.buildCertFileName("pfx", applyTime);
52
+ // this.saveFile(filename, fileBuffer);
53
+ }
54
+ async convertDer(opts) {
55
+ const { tmpCrtPath } = opts;
56
+ const derPath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "", `cert.der`);
57
+ const dir = path.dirname(derPath);
58
+ if (!fs.existsSync(dir)) {
59
+ fs.mkdirSync(dir, { recursive: true });
60
+ }
61
+ await this.exec(`openssl x509 -outform der -in ${tmpCrtPath} -out ${derPath}`);
62
+ return derPath;
63
+ // const fileBuffer = fs.readFileSync(derPath);
64
+ // this.derCert = fileBuffer.toString("base64");
65
+ //
66
+ // const applyTime = new Date().getTime();
67
+ // const filename = reader.buildCertFileName("der", applyTime);
68
+ // this.saveFile(filename, fileBuffer);
69
+ }
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vY2VydC1wbHVnaW4vY29udmVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsRUFBRSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBMkIsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFHdEIsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFVO0lBRWhCLFlBQVksSUFBeUI7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQTZDO1FBSXpELE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLE9BQWUsQ0FBQztRQUNwQixJQUFJLE9BQWUsQ0FBQztRQUNwQixNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsSUFBNkIsRUFBRSxFQUFFO1lBQ3JELGlCQUFpQjtZQUNqQixPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLE9BQU87WUFDUCxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUVGLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFL0QsT0FBTztZQUNMLE9BQU87WUFDUCxPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQVc7UUFDcEIsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2IsR0FBRyxFQUFFLEdBQUc7WUFDUixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBNkIsRUFBRSxXQUFvQjtRQUMxRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQztRQUV4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTVHLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksV0FBVyxHQUFHLGdCQUFnQixDQUFDO1FBQ25DLElBQUksV0FBVyxFQUFFO1lBQ2YsV0FBVyxHQUFHLGtCQUFrQixXQUFXLEVBQUUsQ0FBQztTQUMvQztRQUNELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQywrQkFBK0IsT0FBTyxXQUFXLFVBQVUsUUFBUSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoSCxPQUFPLE9BQU8sQ0FBQztRQUNmLCtDQUErQztRQUMvQyxnREFBZ0Q7UUFDaEQsRUFBRTtRQUNGLDBDQUEwQztRQUMxQywrREFBK0Q7UUFDL0QsdUNBQXVDO0lBQ3pDLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQTZCO1FBQ3BELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUU1RyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDeEM7UUFFRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUNBQWlDLFVBQVUsU0FBUyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLE9BQU8sT0FBTyxDQUFDO1FBRWYsK0NBQStDO1FBQy9DLGdEQUFnRDtRQUNoRCxFQUFFO1FBQ0YsMENBQTBDO1FBQzFDLCtEQUErRDtRQUMvRCx1Q0FBdUM7SUFDekMsQ0FBQztDQUNGIn0=
@@ -1,18 +1,18 @@
1
- import type { CertInfo, PrivateKeyType, SSLProvider } from "./acme.js";
2
- import { AcmeService } from "./acme.js";
3
- import { CertReader } from "./cert-reader.js";
4
- import { CertApplyBasePlugin } from "./base.js";
5
- export { CertReader };
6
- export type { CertInfo };
7
- export declare class CertApplyPlugin extends CertApplyBasePlugin {
8
- sslProvider: SSLProvider;
9
- privateKeyType: PrivateKeyType;
10
- eabAccessId: number;
11
- dnsProviderType: string;
12
- dnsProviderAccess: string;
13
- useProxy: boolean;
14
- skipLocalVerify: boolean;
15
- acme: AcmeService;
16
- onInit(): Promise<void>;
17
- doCertApply(): Promise<CertReader>;
18
- }
1
+ import type { CertInfo, PrivateKeyType, SSLProvider } from "./acme.js";
2
+ import { AcmeService } from "./acme.js";
3
+ import { CertReader } from "./cert-reader.js";
4
+ import { CertApplyBasePlugin } from "./base.js";
5
+ export type { CertInfo };
6
+ export * from "./cert-reader.js";
7
+ export declare class CertApplyPlugin extends CertApplyBasePlugin {
8
+ sslProvider: SSLProvider;
9
+ eabAccessId: number;
10
+ privateKeyType: PrivateKeyType;
11
+ dnsProviderType: string;
12
+ dnsProviderAccess: string;
13
+ useProxy: boolean;
14
+ skipLocalVerify: boolean;
15
+ acme: AcmeService;
16
+ onInit(): Promise<void>;
17
+ doCertApply(): Promise<CertReader>;
18
+ }