@certd/plugin-cert 1.22.4 → 1.22.5

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.
@@ -1,17 +1,17 @@
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, 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,186 +1,186 @@
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
- default: "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
- default: 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
- default: 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
+ 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
+ default: "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
+ default: 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
+ default: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFXMUIsV0FBVyxDQUFVO0lBVXJCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzFCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixNQUFNLEVB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
@@ -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
+ }