@certd/plugin-cert 1.22.7 → 1.23.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 (36) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/access/eab-access.d.ts +4 -4
  3. package/dist/access/index.d.ts +1 -1
  4. package/dist/access/index.js +1 -1
  5. package/dist/bundle.js +1 -1
  6. package/dist/d/plugin/cert-plugin/acme.d.ts +2 -0
  7. package/dist/d/plugin/cert-plugin/index.d.ts +1 -0
  8. package/dist/dns-provider/api.d.ts +27 -27
  9. package/dist/dns-provider/base.d.ts +8 -8
  10. package/dist/dns-provider/base.js +6 -6
  11. package/dist/dns-provider/decorator.d.ts +3 -3
  12. package/dist/dns-provider/index.d.ts +4 -4
  13. package/dist/dns-provider/index.js +4 -4
  14. package/dist/dns-provider/registry.d.ts +2 -2
  15. package/dist/index.d.ts +3 -3
  16. package/dist/index.js +3 -3
  17. package/dist/plugin/cert-plugin/acme.d.ts +58 -58
  18. package/dist/plugin/cert-plugin/base.d.ts +49 -49
  19. package/dist/plugin/cert-plugin/cert-reader.d.ts +16 -16
  20. package/dist/plugin/cert-plugin/cert-reader.js +45 -45
  21. package/dist/plugin/cert-plugin/index.d.ts +17 -17
  22. package/dist/plugin/cert-plugin/index.js +4 -4
  23. package/dist/plugin/cert-plugin/lego/dns.d.ts +1 -1
  24. package/dist/plugin/cert-plugin/lego/dns.js +1 -1
  25. package/dist/plugin/cert-plugin/lego/index.d.ts +17 -17
  26. package/dist/plugin/cert-plugin/lego.d.ts +16 -16
  27. package/dist/plugin/cert-plugin/lego.js +145 -153
  28. package/dist/plugin/index.d.ts +2 -2
  29. package/dist/plugin/index.js +2 -2
  30. package/package.json +3 -3
  31. package/tsconfig.tsbuildinfo +1 -1
  32. package/dist/plugin-cert.mjs +0 -11786
  33. package/dist/plugin-cert.umd.js +0 -28
  34. package/stats.html +0 -6177
  35. package/test/user.secret.js +0 -7
  36. package/test/user.secret.ts +0 -4
@@ -13,12 +13,14 @@ export declare class AcmeService {
13
13
  userContext: IContext;
14
14
  logger: Logger;
15
15
  sslProvider: SSLProvider;
16
+ skipLocalVerify: boolean;
16
17
  eab?: ClientExternalAccountBindingOptions;
17
18
  constructor(options: {
18
19
  userContext: IContext;
19
20
  logger: Logger;
20
21
  sslProvider: SSLProvider;
21
22
  eab?: ClientExternalAccountBindingOptions;
23
+ skipLocalVerify?: boolean;
22
24
  });
23
25
  getAccountConfig(email: string): Promise<any>;
24
26
  buildAccountKey(email: string): string;
@@ -11,6 +11,7 @@ export declare class CertApplyPlugin extends AbstractTaskPlugin {
11
11
  eabAccessId: number;
12
12
  dnsProviderType: string;
13
13
  dnsProviderAccess: string;
14
+ skipLocalVerify: boolean;
14
15
  renewDays: number;
15
16
  forceUpdate: string;
16
17
  csrInfo: string;
@@ -1,27 +1,27 @@
1
- import { HttpClient, IAccess, ILogger, Registrable } from "@certd/pipeline";
2
- export type DnsProviderDefine = Registrable & {
3
- accessType: string;
4
- autowire?: {
5
- [key: string]: any;
6
- };
7
- };
8
- export type CreateRecordOptions = {
9
- fullRecord: string;
10
- type: string;
11
- value: any;
12
- domain: string;
13
- };
14
- export type RemoveRecordOptions<T> = CreateRecordOptions & {
15
- record: T;
16
- };
17
- export type DnsProviderContext = {
18
- access: IAccess;
19
- logger: ILogger;
20
- http: HttpClient;
21
- };
22
- export interface IDnsProvider<T = any> {
23
- onInstance(): Promise<void>;
24
- createRecord(options: CreateRecordOptions): Promise<T>;
25
- removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
26
- setCtx(ctx: DnsProviderContext): void;
27
- }
1
+ import { HttpClient, IAccess, ILogger, Registrable } from "@certd/pipeline";
2
+ export type DnsProviderDefine = Registrable & {
3
+ accessType: string;
4
+ autowire?: {
5
+ [key: string]: any;
6
+ };
7
+ };
8
+ export type CreateRecordOptions = {
9
+ fullRecord: string;
10
+ type: string;
11
+ value: any;
12
+ domain: string;
13
+ };
14
+ export type RemoveRecordOptions<T> = CreateRecordOptions & {
15
+ record: T;
16
+ };
17
+ export type DnsProviderContext = {
18
+ access: IAccess;
19
+ logger: ILogger;
20
+ http: HttpClient;
21
+ };
22
+ export interface IDnsProvider<T = any> {
23
+ onInstance(): Promise<void>;
24
+ createRecord(options: CreateRecordOptions): Promise<T>;
25
+ removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
26
+ setCtx(ctx: DnsProviderContext): void;
27
+ }
@@ -1,8 +1,8 @@
1
- import { CreateRecordOptions, DnsProviderContext, IDnsProvider, RemoveRecordOptions } from "./api.js";
2
- export declare abstract class AbstractDnsProvider<T = any> implements IDnsProvider<T> {
3
- ctx: DnsProviderContext;
4
- setCtx(ctx: DnsProviderContext): void;
5
- abstract createRecord(options: CreateRecordOptions): Promise<T>;
6
- abstract onInstance(): Promise<void>;
7
- abstract removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
8
- }
1
+ import { CreateRecordOptions, DnsProviderContext, IDnsProvider, RemoveRecordOptions } from "./api.js";
2
+ export declare abstract class AbstractDnsProvider<T = any> implements IDnsProvider<T> {
3
+ ctx: DnsProviderContext;
4
+ setCtx(ctx: DnsProviderContext): void;
5
+ abstract createRecord(options: CreateRecordOptions): Promise<T>;
6
+ abstract onInstance(): Promise<void>;
7
+ abstract removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
8
+ }
@@ -1,7 +1,7 @@
1
- export class AbstractDnsProvider {
2
- ctx;
3
- setCtx(ctx) {
4
- this.ctx = ctx;
5
- }
6
- }
1
+ export class AbstractDnsProvider {
2
+ ctx;
3
+ setCtx(ctx) {
4
+ this.ctx = ctx;
5
+ }
6
+ }
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kbnMtcHJvdmlkZXIvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLG1CQUFtQjtJQUN2QyxHQUFHLENBQXNCO0lBRXpCLE1BQU0sQ0FBQyxHQUF1QjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0NBT0YifQ==
@@ -1,3 +1,3 @@
1
- import { DnsProviderDefine } from "./api.js";
2
- export declare const DNS_PROVIDER_CLASS_KEY = "pipeline:dns-provider";
3
- export declare function IsDnsProvider(define: DnsProviderDefine): ClassDecorator;
1
+ import { DnsProviderDefine } from "./api.js";
2
+ export declare const DNS_PROVIDER_CLASS_KEY = "pipeline:dns-provider";
3
+ export declare function IsDnsProvider(define: DnsProviderDefine): ClassDecorator;
@@ -1,4 +1,4 @@
1
- export * from "./api.js";
2
- export * from "./registry.js";
3
- export * from "./decorator.js";
4
- export * from "./base.js";
1
+ export * from "./api.js";
2
+ export * from "./registry.js";
3
+ export * from "./decorator.js";
4
+ export * from "./base.js";
@@ -1,5 +1,5 @@
1
- export * from "./api.js";
2
- export * from "./registry.js";
3
- export * from "./decorator.js";
4
- export * from "./base.js";
1
+ export * from "./api.js";
2
+ export * from "./registry.js";
3
+ export * from "./decorator.js";
4
+ export * from "./base.js";
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG5zLXByb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUMifQ==
@@ -1,2 +1,2 @@
1
- import { Registry } from "@certd/pipeline";
2
- export declare const dnsProviderRegistry: Registry<unknown>;
1
+ import { Registry } from "@certd/pipeline";
2
+ export declare const dnsProviderRegistry: Registry<unknown>;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./plugin/index.js";
2
- export * from "./dns-provider/index.js";
3
- export * from "./access/index.js";
1
+ export * from "./plugin/index.js";
2
+ export * from "./dns-provider/index.js";
3
+ export * from "./access/index.js";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export * from "./plugin/index.js";
2
- export * from "./dns-provider/index.js";
3
- export * from "./access/index.js";
1
+ export * from "./plugin/index.js";
2
+ export * from "./dns-provider/index.js";
3
+ export * from "./access/index.js";
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUMifQ==
@@ -1,58 +1,58 @@
1
- import * as acme from "@certd/acme-client";
2
- import { Logger } from "log4js";
3
- import { IContext } from "@certd/pipeline";
4
- import { IDnsProvider } from "../../dns-provider/index.js";
5
- import { ClientExternalAccountBindingOptions } from "@certd/acme-client";
6
- export type CertInfo = {
7
- crt: string;
8
- key: string;
9
- csr: string;
10
- };
11
- export type SSLProvider = "letsencrypt" | "buypass" | "zerossl";
12
- type AcmeServiceOptions = {
13
- userContext: IContext;
14
- logger: Logger;
15
- sslProvider: SSLProvider;
16
- eab?: ClientExternalAccountBindingOptions;
17
- skipLocalVerify?: boolean;
18
- useMappingProxy?: boolean;
19
- };
20
- export declare class AcmeService {
21
- options: AcmeServiceOptions;
22
- userContext: IContext;
23
- logger: Logger;
24
- sslProvider: SSLProvider;
25
- skipLocalVerify: boolean;
26
- eab?: ClientExternalAccountBindingOptions;
27
- constructor(options: AcmeServiceOptions);
28
- getAccountConfig(email: string): Promise<any>;
29
- buildAccountKey(email: string): string;
30
- saveAccountConfig(email: string, conf: any): Promise<void>;
31
- getAcmeClient(email: string, isTest?: boolean): Promise<acme.Client>;
32
- createNewKey(): Promise<string>;
33
- parseDomain(fullDomain: string): string;
34
- challengeCreateFn(authz: any, challenge: any, keyAuthorization: string, dnsProvider: IDnsProvider): Promise<any>;
35
- /**
36
- * Function used to remove an ACME challenge response
37
- *
38
- * @param {object} authz Authorization object
39
- * @param {object} challenge Selected challenge
40
- * @param {string} keyAuthorization Authorization key
41
- * @param recordItem challengeCreateFn create record item
42
- * @param dnsProvider dnsProvider
43
- * @returns {Promise}
44
- */
45
- challengeRemoveFn(authz: any, challenge: any, keyAuthorization: string, recordItem: any, dnsProvider: IDnsProvider): Promise<void>;
46
- order(options: {
47
- email: string;
48
- domains: string | string[];
49
- dnsProvider: any;
50
- csrInfo: any;
51
- isTest?: boolean;
52
- }): Promise<CertInfo>;
53
- buildCommonNameByDomains(domains: string | string[]): {
54
- commonName: string;
55
- altNames: string[] | undefined;
56
- };
57
- }
58
- export {};
1
+ import * as acme from "@certd/acme-client";
2
+ import { Logger } from "log4js";
3
+ import { IContext } from "@certd/pipeline";
4
+ import { IDnsProvider } from "../../dns-provider/index.js";
5
+ import { ClientExternalAccountBindingOptions } from "@certd/acme-client";
6
+ export type CertInfo = {
7
+ crt: string;
8
+ key: string;
9
+ csr: string;
10
+ };
11
+ export type SSLProvider = "letsencrypt" | "buypass" | "zerossl";
12
+ type AcmeServiceOptions = {
13
+ userContext: IContext;
14
+ logger: Logger;
15
+ sslProvider: SSLProvider;
16
+ eab?: ClientExternalAccountBindingOptions;
17
+ skipLocalVerify?: boolean;
18
+ useMappingProxy?: boolean;
19
+ };
20
+ export declare class AcmeService {
21
+ options: AcmeServiceOptions;
22
+ userContext: IContext;
23
+ logger: Logger;
24
+ sslProvider: SSLProvider;
25
+ skipLocalVerify: boolean;
26
+ eab?: ClientExternalAccountBindingOptions;
27
+ constructor(options: AcmeServiceOptions);
28
+ getAccountConfig(email: string): Promise<any>;
29
+ buildAccountKey(email: string): string;
30
+ saveAccountConfig(email: string, conf: any): Promise<void>;
31
+ getAcmeClient(email: string, isTest?: boolean): Promise<acme.Client>;
32
+ createNewKey(): Promise<string>;
33
+ parseDomain(fullDomain: string): string;
34
+ challengeCreateFn(authz: any, challenge: any, keyAuthorization: string, dnsProvider: IDnsProvider): Promise<any>;
35
+ /**
36
+ * Function used to remove an ACME challenge response
37
+ *
38
+ * @param {object} authz Authorization object
39
+ * @param {object} challenge Selected challenge
40
+ * @param {string} keyAuthorization Authorization key
41
+ * @param recordItem challengeCreateFn create record item
42
+ * @param dnsProvider dnsProvider
43
+ * @returns {Promise}
44
+ */
45
+ challengeRemoveFn(authz: any, challenge: any, keyAuthorization: string, recordItem: any, dnsProvider: IDnsProvider): Promise<void>;
46
+ order(options: {
47
+ email: string;
48
+ domains: string | string[];
49
+ dnsProvider: any;
50
+ csrInfo: any;
51
+ isTest?: boolean;
52
+ }): Promise<CertInfo>;
53
+ buildCommonNameByDomains(domains: string | string[]): {
54
+ commonName: string;
55
+ altNames: string[] | undefined;
56
+ };
57
+ }
58
+ export {};
@@ -1,49 +1,49 @@
1
- import { AbstractTaskPlugin, HttpClient, IAccessService, IContext, Step } from "@certd/pipeline";
2
- import type { CertInfo } from "./acme.js";
3
- import { Logger } from "log4js";
4
- import { CertReader } from "./cert-reader.js";
5
- export { CertReader };
6
- export type { CertInfo };
7
- export declare abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
8
- domains: string[];
9
- email: string;
10
- renewDays: number;
11
- forceUpdate: string;
12
- successNotify: boolean;
13
- intro: string;
14
- csrInfo: string;
15
- logger: Logger;
16
- userContext: IContext;
17
- accessService: IAccessService;
18
- http: HttpClient;
19
- lastStatus: Step;
20
- cert?: CertInfo;
21
- onInstance(): Promise<void>;
22
- abstract onInit(): Promise<void>;
23
- abstract doCertApply(): Promise<any>;
24
- execute(): Promise<void>;
25
- output(certReader: CertReader, isNew: boolean): Promise<void>;
26
- zipCert(cert: CertInfo, applyTime: string): Promise<void>;
27
- /**
28
- * 是否更新证书
29
- */
30
- condition(): Promise<CertReader>;
31
- formatCert(pem: string): string;
32
- formatCerts(cert: {
33
- crt: string;
34
- key: string;
35
- csr: string;
36
- }): CertInfo;
37
- readLastCert(): Promise<CertReader | undefined>;
38
- /**
39
- * 检查是否过期,默认提前20天
40
- * @param expires
41
- * @param maxDays
42
- * @returns {boolean}
43
- */
44
- isWillExpire(expires: number, maxDays?: number): {
45
- isWillExpire: boolean;
46
- leftDays: number;
47
- };
48
- private sendSuccessEmail;
49
- }
1
+ import { AbstractTaskPlugin, HttpClient, IAccessService, IContext, Step } from "@certd/pipeline";
2
+ import type { CertInfo } from "./acme.js";
3
+ import { Logger } from "log4js";
4
+ import { CertReader } from "./cert-reader.js";
5
+ export { CertReader };
6
+ export type { CertInfo };
7
+ export declare abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
8
+ domains: string[];
9
+ email: string;
10
+ renewDays: number;
11
+ forceUpdate: string;
12
+ successNotify: boolean;
13
+ intro: string;
14
+ csrInfo: string;
15
+ logger: Logger;
16
+ userContext: IContext;
17
+ accessService: IAccessService;
18
+ http: HttpClient;
19
+ lastStatus: Step;
20
+ cert?: CertInfo;
21
+ onInstance(): Promise<void>;
22
+ abstract onInit(): Promise<void>;
23
+ abstract doCertApply(): Promise<any>;
24
+ execute(): Promise<void>;
25
+ output(certReader: CertReader, isNew: boolean): Promise<void>;
26
+ zipCert(cert: CertInfo, applyTime: string): Promise<void>;
27
+ /**
28
+ * 是否更新证书
29
+ */
30
+ condition(): Promise<CertReader>;
31
+ formatCert(pem: string): string;
32
+ formatCerts(cert: {
33
+ crt: string;
34
+ key: string;
35
+ csr: string;
36
+ }): CertInfo;
37
+ readLastCert(): Promise<CertReader | undefined>;
38
+ /**
39
+ * 检查是否过期,默认提前20天
40
+ * @param expires
41
+ * @param maxDays
42
+ * @returns {boolean}
43
+ */
44
+ isWillExpire(expires: number, maxDays?: number): {
45
+ isWillExpire: boolean;
46
+ leftDays: number;
47
+ };
48
+ private sendSuccessEmail;
49
+ }
@@ -1,16 +1,16 @@
1
- import { CertInfo } from "./acme.js";
2
- import forge from "node-forge";
3
- export declare class CertReader implements CertInfo {
4
- crt: string;
5
- key: string;
6
- csr: string;
7
- detail: any;
8
- expires: number;
9
- constructor(certInfo: CertInfo);
10
- toCertInfo(): CertInfo;
11
- getCrtDetail(crt: string): {
12
- detail: forge.pki.Certificate;
13
- expires: Date;
14
- };
15
- saveToFile(type: "crt" | "key", filepath?: string): string;
16
- }
1
+ import { CertInfo } from "./acme.js";
2
+ import forge from "node-forge";
3
+ export declare class CertReader implements CertInfo {
4
+ crt: string;
5
+ key: string;
6
+ csr: string;
7
+ detail: any;
8
+ expires: number;
9
+ constructor(certInfo: CertInfo);
10
+ toCertInfo(): CertInfo;
11
+ getCrtDetail(crt: string): {
12
+ detail: forge.pki.Certificate;
13
+ expires: Date;
14
+ };
15
+ saveToFile(type: "crt" | "key", filepath?: string): string;
16
+ }
@@ -1,45 +1,45 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2NlcnQtcmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFDO0FBQy9CLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixNQUFNLE9BQU8sVUFBVTtJQUNyQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFFWixNQUFNLENBQU07SUFDWixPQUFPLENBQVM7SUFDaEIsWUFBWSxRQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUV4QixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQW1CLEVBQUUsUUFBaUI7UUFDL0MsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsUUFBUTtZQUNSLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiJ9
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,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
+ }
@@ -84,7 +84,7 @@ let CertApplyPlugin = class CertApplyPlugin extends CertApplyBasePlugin {
84
84
  __decorate([
85
85
  TaskInput({
86
86
  title: "证书提供商",
87
- default: "letsencrypt",
87
+ value: "letsencrypt",
88
88
  component: {
89
89
  name: "a-select",
90
90
  vModel: "value",
@@ -143,7 +143,7 @@ __decorate([
143
143
  __decorate([
144
144
  TaskInput({
145
145
  title: "使用代理",
146
- default: false,
146
+ value: false,
147
147
  component: {
148
148
  name: "a-switch",
149
149
  vModel: "checked",
@@ -155,7 +155,7 @@ __decorate([
155
155
  __decorate([
156
156
  TaskInput({
157
157
  title: "跳过本地校验DNS",
158
- default: false,
158
+ value: false,
159
159
  component: {
160
160
  name: "a-switch",
161
161
  vModel: "checked",
@@ -183,4 +183,4 @@ CertApplyPlugin = __decorate([
183
183
  ], CertApplyPlugin);
184
184
  export { CertApplyPlugin };
185
185
  new CertApplyPlugin();
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFXMUIsV0FBVyxDQUFVO0lBVXJCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENB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
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFXMUIsV0FBVyxDQUFVO0lBVXJCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENB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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=