@certd/plugin-cert 1.23.1 → 1.24.1

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 (43) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/access/eab-access.d.ts +4 -4
  3. package/dist/access/eab-access.js +47 -46
  4. package/dist/access/index.d.ts +1 -1
  5. package/dist/access/index.js +1 -1
  6. package/dist/bundle.js +1 -1
  7. package/dist/d/plugin/cert-plugin/acme.d.ts +0 -2
  8. package/dist/d/plugin/cert-plugin/index.d.ts +0 -1
  9. package/dist/dns-provider/api.d.ts +27 -27
  10. package/dist/dns-provider/api.js +1 -1
  11. package/dist/dns-provider/base.d.ts +8 -8
  12. package/dist/dns-provider/base.js +6 -6
  13. package/dist/dns-provider/decorator.d.ts +3 -3
  14. package/dist/dns-provider/decorator.js +25 -25
  15. package/dist/dns-provider/index.d.ts +4 -4
  16. package/dist/dns-provider/index.js +4 -4
  17. package/dist/dns-provider/registry.d.ts +2 -2
  18. package/dist/dns-provider/registry.js +2 -2
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.js +3 -3
  21. package/dist/plugin/cert-plugin/acme.d.ts +63 -58
  22. package/dist/plugin/cert-plugin/acme.js +266 -213
  23. package/dist/plugin/cert-plugin/base.d.ts +46 -49
  24. package/dist/plugin/cert-plugin/base.js +256 -260
  25. package/dist/plugin/cert-plugin/cert-reader.d.ts +15 -16
  26. package/dist/plugin/cert-plugin/cert-reader.js +44 -45
  27. package/dist/plugin/cert-plugin/index.d.ts +18 -17
  28. package/dist/plugin/cert-plugin/index.js +209 -186
  29. package/dist/plugin/cert-plugin/lego/dns.d.ts +1 -1
  30. package/dist/plugin/cert-plugin/lego/dns.js +1 -1
  31. package/dist/plugin/cert-plugin/lego/index.d.ts +17 -17
  32. package/dist/plugin/cert-plugin/lego/index.js +170 -171
  33. package/dist/plugin/cert-plugin/lego.d.ts +16 -16
  34. package/dist/plugin/cert-plugin/lego.js +153 -145
  35. package/dist/plugin/index.d.ts +2 -2
  36. package/dist/plugin/index.js +2 -2
  37. package/dist/plugin-cert.mjs +11786 -0
  38. package/dist/plugin-cert.umd.js +28 -0
  39. package/package.json +4 -4
  40. package/stats.html +6177 -0
  41. package/test/user.secret.js +7 -0
  42. package/test/user.secret.ts +4 -0
  43. package/tsconfig.tsbuildinfo +1 -1
@@ -1,45 +1,44 @@
1
- import fs from "fs";
2
- import os from "os";
3
- import forge from "node-forge";
4
- import path from "path";
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 pki = forge.pki;
28
- const detail = pki.certificateFromPem(crt.toString());
29
- const expires = detail.validity.notAfter;
30
- return { detail, expires };
31
- }
32
- saveToFile(type, filepath) {
33
- if (filepath == null) {
34
- //写入临时目录
35
- filepath = path.join(os.tmpdir(), "/certd/tmp/", Math.floor(Math.random() * 1000000) + "", `cert.${type}`);
36
- }
37
- const dir = path.dirname(filepath);
38
- if (!fs.existsSync(dir)) {
39
- fs.mkdirSync(dir, { recursive: true });
40
- }
41
- fs.writeFileSync(filepath, this[type]);
42
- return filepath;
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2NlcnQtcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixNQUFNLE9BQU8sVUFBVTtJQUNyQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFFWixNQUFNLENBQU07SUFDWixPQUFPLENBQVM7SUFDaEIsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUV4QixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQW1CLEVBQUUsUUFBaUI7UUFDL0MsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO1lBQ3BCLFFBQVE7WUFDUixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7U0FDNUc7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDeEM7UUFFRCxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YifQ==
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,17 +1,18 @@
1
- import type { CertInfo, 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
- eabAccessId: number;
10
- dnsProviderType: string;
11
- dnsProviderAccess: string;
12
- useProxy: boolean;
13
- skipLocalVerify: boolean;
14
- acme: AcmeService;
15
- onInit(): Promise<void>;
16
- doCertApply(): Promise<CertReader>;
17
- }
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,186 +1,209 @@
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 { Decorator, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
11
- import { AcmeService } from "./acme.js";
12
- import _ from "lodash-es";
13
- import { dnsProviderRegistry } from "../../dns-provider/index.js";
14
- import { CertReader } from "./cert-reader.js";
15
- import { CertApplyBasePlugin } from "./base.js";
16
- export { CertReader };
17
- let CertApplyPlugin = class CertApplyPlugin extends CertApplyBasePlugin {
18
- sslProvider;
19
- eabAccessId;
20
- dnsProviderType;
21
- dnsProviderAccess;
22
- useProxy = false;
23
- skipLocalVerify = false;
24
- acme;
25
- async onInit() {
26
- let eab = null;
27
- if (this.eabAccessId) {
28
- eab = await this.ctx.accessService.getById(this.eabAccessId);
29
- }
30
- this.acme = new AcmeService({
31
- userContext: this.userContext,
32
- logger: this.logger,
33
- sslProvider: this.sslProvider,
34
- eab,
35
- skipLocalVerify: this.skipLocalVerify,
36
- useMappingProxy: this.useProxy,
37
- });
38
- }
39
- async doCertApply() {
40
- const email = this["email"];
41
- const domains = this["domains"];
42
- const dnsProviderType = this["dnsProviderType"];
43
- const dnsProviderAccessId = this["dnsProviderAccess"];
44
- const csrInfo = _.merge({
45
- country: "CN",
46
- state: "GuangDong",
47
- locality: "ShengZhen",
48
- organization: "CertD Org.",
49
- organizationUnit: "IT Department",
50
- emailAddress: email,
51
- }, this.csrInfo ? JSON.parse(this.csrInfo) : {});
52
- this.logger.info("开始申请证书,", email, domains);
53
- const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
54
- const DnsProviderClass = dnsProviderPlugin.target;
55
- const dnsProviderDefine = dnsProviderPlugin.define;
56
- const access = await this.accessService.getById(dnsProviderAccessId);
57
- // @ts-ignore
58
- const dnsProvider = new DnsProviderClass();
59
- const context = { access, logger: this.logger, http: this.http };
60
- Decorator.inject(dnsProviderDefine.autowire, dnsProvider, context);
61
- dnsProvider.setCtx(context);
62
- await dnsProvider.onInstance();
63
- try {
64
- const cert = await this.acme.order({
65
- email,
66
- domains,
67
- dnsProvider,
68
- csrInfo,
69
- isTest: false,
70
- });
71
- const certInfo = this.formatCerts(cert);
72
- return new CertReader(certInfo);
73
- }
74
- catch (e) {
75
- const message = e.message;
76
- if (message.indexOf("redundant with a wildcard domain in the same request") >= 0) {
77
- this.logger.error(e);
78
- throw new Error(`通配符域名已经包含了普通域名,请删除其中一个(${message})`);
79
- }
80
- throw e;
81
- }
82
- }
83
- };
84
- __decorate([
85
- TaskInput({
86
- title: "证书提供商",
87
- value: "letsencrypt",
88
- component: {
89
- name: "a-select",
90
- vModel: "value",
91
- options: [
92
- { value: "letsencrypt", label: "Let's Encrypt" },
93
- // { value: "letsencrypt-proxy", label: "Let's Encrypt代理,letsencrypt.org无法访问时使用" },
94
- // { value: "buypass", label: "Buypass" },
95
- { value: "zerossl", label: "ZeroSSL" },
96
- ],
97
- },
98
- required: true,
99
- }),
100
- __metadata("design:type", String)
101
- ], CertApplyPlugin.prototype, "sslProvider", void 0);
102
- __decorate([
103
- TaskInput({
104
- title: "EAB授权",
105
- component: {
106
- name: "pi-access-selector",
107
- type: "eab",
108
- },
109
- maybeNeed: true,
110
- helper: "如果使用ZeroSSL证书,需要提供EAB授权, 请前往 https://app.zerossl.com/developer 生成 'EAB Credentials for ACME Clients' ",
111
- }),
112
- __metadata("design:type", Number)
113
- ], CertApplyPlugin.prototype, "eabAccessId", void 0);
114
- __decorate([
115
- TaskInput({
116
- title: "DNS提供商",
117
- component: {
118
- name: "pi-dns-provider-selector",
119
- },
120
- required: true,
121
- helper: "请选择dns解析提供商",
122
- }),
123
- __metadata("design:type", String)
124
- ], CertApplyPlugin.prototype, "dnsProviderType", void 0);
125
- __decorate([
126
- TaskInput({
127
- title: "DNS解析授权",
128
- component: {
129
- name: "pi-access-selector",
130
- },
131
- required: true,
132
- helper: "请选择dns解析提供商授权",
133
- reference: [
134
- {
135
- src: "form.dnsProviderType",
136
- dest: "component.type",
137
- type: "computed",
138
- },
139
- ],
140
- }),
141
- __metadata("design:type", String)
142
- ], CertApplyPlugin.prototype, "dnsProviderAccess", void 0);
143
- __decorate([
144
- TaskInput({
145
- title: "使用代理",
146
- value: false,
147
- component: {
148
- name: "a-switch",
149
- vModel: "checked",
150
- },
151
- helper: "如果acme-v02.api.letsencrypt.org被墙无法连接访问,请尝试开启此选项",
152
- }),
153
- __metadata("design:type", Object)
154
- ], CertApplyPlugin.prototype, "useProxy", void 0);
155
- __decorate([
156
- TaskInput({
157
- title: "跳过本地校验DNS",
158
- value: false,
159
- component: {
160
- name: "a-switch",
161
- vModel: "checked",
162
- },
163
- helper: "如果重试多次出现Authorization not found TXT record,导致无法申请成功,请尝试开启此选项",
164
- }),
165
- __metadata("design:type", Object)
166
- ], CertApplyPlugin.prototype, "skipLocalVerify", void 0);
167
- CertApplyPlugin = __decorate([
168
- IsTaskPlugin({
169
- name: "CertApply",
170
- title: "证书申请(JS版)",
171
- group: pluginGroups.cert.key,
172
- desc: "免费通配符域名证书申请,支持多个域名打到同一个证书上",
173
- default: {
174
- input: {
175
- renewDays: 20,
176
- forceUpdate: false,
177
- },
178
- strategy: {
179
- runStrategy: RunStrategy.AlwaysRun,
180
- },
181
- },
182
- })
183
- ], CertApplyPlugin);
184
- export { CertApplyPlugin };
185
- new CertApplyPlugin();
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFXMUIsV0FBVyxDQUFVO0lBVXJCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENB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
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 { Decorator, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
11
+ import { AcmeService } from "./acme.js";
12
+ import _ from "lodash-es";
13
+ import { dnsProviderRegistry } from "../../dns-provider/index.js";
14
+ import { CertReader } from "./cert-reader.js";
15
+ import { CertApplyBasePlugin } from "./base.js";
16
+ export { CertReader };
17
+ export let CertApplyPlugin = class CertApplyPlugin extends CertApplyBasePlugin {
18
+ sslProvider;
19
+ privateKeyType;
20
+ eabAccessId;
21
+ dnsProviderType;
22
+ dnsProviderAccess;
23
+ useProxy = false;
24
+ skipLocalVerify = false;
25
+ acme;
26
+ async onInit() {
27
+ let eab = null;
28
+ if (this.eabAccessId) {
29
+ eab = await this.ctx.accessService.getById(this.eabAccessId);
30
+ }
31
+ this.acme = new AcmeService({
32
+ userContext: this.userContext,
33
+ logger: this.logger,
34
+ sslProvider: this.sslProvider,
35
+ eab,
36
+ skipLocalVerify: this.skipLocalVerify,
37
+ useMappingProxy: this.useProxy,
38
+ privateKeyType: this.privateKeyType,
39
+ });
40
+ }
41
+ async doCertApply() {
42
+ const email = this["email"];
43
+ const domains = this["domains"];
44
+ const dnsProviderType = this["dnsProviderType"];
45
+ const dnsProviderAccessId = this["dnsProviderAccess"];
46
+ const csrInfo = _.merge({
47
+ country: "CN",
48
+ state: "GuangDong",
49
+ locality: "ShengZhen",
50
+ organization: "CertD Org.",
51
+ organizationUnit: "IT Department",
52
+ emailAddress: email,
53
+ }, this.csrInfo ? JSON.parse(this.csrInfo) : {});
54
+ this.logger.info("开始申请证书,", email, domains);
55
+ const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
56
+ const DnsProviderClass = dnsProviderPlugin.target;
57
+ const dnsProviderDefine = dnsProviderPlugin.define;
58
+ const access = await this.accessService.getById(dnsProviderAccessId);
59
+ // @ts-ignore
60
+ const dnsProvider = new DnsProviderClass();
61
+ const context = { access, logger: this.logger, http: this.http };
62
+ Decorator.inject(dnsProviderDefine.autowire, dnsProvider, context);
63
+ dnsProvider.setCtx(context);
64
+ await dnsProvider.onInstance();
65
+ try {
66
+ const cert = await this.acme.order({
67
+ email,
68
+ domains,
69
+ dnsProvider,
70
+ csrInfo,
71
+ isTest: false,
72
+ privateKeyType: this.privateKeyType,
73
+ });
74
+ const certInfo = this.formatCerts(cert);
75
+ return new CertReader(certInfo);
76
+ }
77
+ catch (e) {
78
+ const message = e.message;
79
+ if (message.indexOf("redundant with a wildcard domain in the same request") >= 0) {
80
+ this.logger.error(e);
81
+ throw new Error(`通配符域名已经包含了普通域名,请删除其中一个(${message})`);
82
+ }
83
+ throw e;
84
+ }
85
+ }
86
+ };
87
+ __decorate([
88
+ TaskInput({
89
+ title: "证书提供商",
90
+ value: "letsencrypt",
91
+ component: {
92
+ name: "a-select",
93
+ vModel: "value",
94
+ options: [
95
+ { value: "letsencrypt", label: "Let's Encrypt" },
96
+ { value: "google", label: "Google" },
97
+ { value: "zerossl", label: "ZeroSSL" },
98
+ ],
99
+ },
100
+ helper: "如果letsencrypt.org或dv.acme-v02.api.pki.goog无法访问,请尝试开启代理选项\n如果使用ZeroSSL、google证书,需要提供EAB授权",
101
+ required: true,
102
+ }),
103
+ __metadata("design:type", String)
104
+ ], CertApplyPlugin.prototype, "sslProvider", void 0);
105
+ __decorate([
106
+ TaskInput({
107
+ title: "加密算法",
108
+ value: "rsa_2048",
109
+ component: {
110
+ name: "a-select",
111
+ vModel: "value",
112
+ options: [
113
+ { value: "rsa_1024", label: "RSA 1024" },
114
+ { value: "rsa_2048", label: "RSA 2048" },
115
+ { value: "rsa_3072", label: "RSA 3072" },
116
+ { value: "rsa_4096", label: "RSA 4096" },
117
+ { value: "ec_256", label: "EC 256" },
118
+ { value: "ec_384", label: "EC 384" },
119
+ // { value: "ec_521", label: "EC 521" },
120
+ ],
121
+ },
122
+ required: true,
123
+ }),
124
+ __metadata("design:type", String)
125
+ ], CertApplyPlugin.prototype, "privateKeyType", void 0);
126
+ __decorate([
127
+ TaskInput({
128
+ title: "EAB授权",
129
+ component: {
130
+ name: "pi-access-selector",
131
+ type: "eab",
132
+ },
133
+ maybeNeed: true,
134
+ helper: "如果使用ZeroSSL或者google证书,需要提供EAB授权\nZeroSSL:请前往 https://app.zerossl.com/developer 生成 'EAB Credentials' \n Google:请前往https://github.com/certd/certd/blob/v2/doc/google/google.md",
135
+ }),
136
+ __metadata("design:type", Number)
137
+ ], CertApplyPlugin.prototype, "eabAccessId", void 0);
138
+ __decorate([
139
+ TaskInput({
140
+ title: "DNS提供商",
141
+ component: {
142
+ name: "pi-dns-provider-selector",
143
+ },
144
+ required: true,
145
+ helper: "请选择dns解析提供商,您的域名是在哪里注册的,或者域名的dns解析服务器属于哪个平台\n如果这里没有您的dns解析提供商,您可以将域名解析服务器设置成上面的任意一个提供商",
146
+ }),
147
+ __metadata("design:type", String)
148
+ ], CertApplyPlugin.prototype, "dnsProviderType", void 0);
149
+ __decorate([
150
+ TaskInput({
151
+ title: "DNS解析授权",
152
+ component: {
153
+ name: "pi-access-selector",
154
+ },
155
+ required: true,
156
+ helper: "请选择dns解析提供商授权",
157
+ reference: [
158
+ {
159
+ src: "form.dnsProviderType",
160
+ dest: "component.type",
161
+ type: "computed",
162
+ },
163
+ ],
164
+ }),
165
+ __metadata("design:type", String)
166
+ ], CertApplyPlugin.prototype, "dnsProviderAccess", void 0);
167
+ __decorate([
168
+ TaskInput({
169
+ title: "使用代理",
170
+ value: false,
171
+ component: {
172
+ name: "a-switch",
173
+ vModel: "checked",
174
+ },
175
+ helper: "如果acme-v02.api.letsencrypt.org或dv.acme-v02.api.pki.goog被墙无法访问,请尝试开启此选项",
176
+ }),
177
+ __metadata("design:type", Object)
178
+ ], CertApplyPlugin.prototype, "useProxy", void 0);
179
+ __decorate([
180
+ TaskInput({
181
+ title: "跳过本地校验DNS",
182
+ value: false,
183
+ component: {
184
+ name: "a-switch",
185
+ vModel: "checked",
186
+ },
187
+ helper: "如果重试多次出现Authorization not found TXT record,导致无法申请成功,请尝试开启此选项",
188
+ }),
189
+ __metadata("design:type", Object)
190
+ ], CertApplyPlugin.prototype, "skipLocalVerify", void 0);
191
+ CertApplyPlugin = __decorate([
192
+ IsTaskPlugin({
193
+ name: "CertApply",
194
+ title: "证书申请(JS版)",
195
+ group: pluginGroups.cert.key,
196
+ desc: "免费通配符域名证书申请,支持多个域名打到同一个证书上",
197
+ default: {
198
+ input: {
199
+ renewDays: 20,
200
+ forceUpdate: false,
201
+ },
202
+ strategy: {
203
+ runStrategy: RunStrategy.AlwaysRun,
204
+ },
205
+ },
206
+ })
207
+ ], CertApplyPlugin);
208
+ new CertApplyPlugin();
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLFdBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFvQjFCLGNBQWMsQ0FBa0I7SUFZaEMsV0FBVyxDQUFVO0lBV3JCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdC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
@@ -1 +1 @@
1
- export declare const dnsList: any[];
1
+ export declare const dnsList: any[];
@@ -1,2 +1,2 @@
1
- export const dnsList = [];
1
+ export const dnsList = [];
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbi9jZXJ0LXBsdWdpbi9sZWdvL2Rucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDIn0=
@@ -1,17 +1,17 @@
1
- import type { CertInfo } from "../acme.js";
2
- import { CertReader } from "../cert-reader.js";
3
- import { CertApplyBasePlugin } from "../base.js";
4
- import { EabAccess } from "../../../access/index.js";
5
- export { CertReader };
6
- export type { CertInfo };
7
- export declare class CertApplyLegoPlugin extends CertApplyBasePlugin {
8
- acmeServer: string;
9
- dnsType: string;
10
- environment: string;
11
- legoEabAccessId: number;
12
- customArgs: string;
13
- eab?: EabAccess;
14
- onInstance(): Promise<void>;
15
- onInit(): Promise<void>;
16
- doCertApply(): Promise<CertReader>;
17
- }
1
+ import type { CertInfo } from "../acme.js";
2
+ import { CertReader } from "../cert-reader.js";
3
+ import { CertApplyBasePlugin } from "../base.js";
4
+ import { EabAccess } from "../../../access/index.js";
5
+ export { CertReader };
6
+ export type { CertInfo };
7
+ export declare class CertApplyLegoPlugin extends CertApplyBasePlugin {
8
+ acmeServer: string;
9
+ dnsType: string;
10
+ environment: string;
11
+ legoEabAccessId: number;
12
+ customArgs: string;
13
+ eab?: EabAccess;
14
+ onInstance(): Promise<void>;
15
+ onInit(): Promise<void>;
16
+ doCertApply(): Promise<CertReader>;
17
+ }