@certd/acme-client 0.1.6 → 0.2.0
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.
- package/CHANGELOG.md +152 -152
- package/LICENSE +21 -21
- package/README.md +199 -199
- package/package.json +5 -4
- package/src/api.js +243 -243
- package/src/auto.js +203 -199
- package/src/axios.js +40 -40
- package/src/client.js +716 -716
- package/src/crypto/forge.js +454 -445
- package/src/http.js +241 -241
- package/src/index.js +31 -31
- package/src/util.js +173 -172
- package/src/util.log.js +8 -8
- package/src/verify.js +96 -96
- package/types/index.d.ts +141 -141
- package/types/rfc8555.d.ts +127 -127
- package/types/test.ts +70 -70
- package/types/tsconfig.json +11 -11
- package/types/tslint.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## v4.1.2 (2020-11-16)
|
|
4
|
-
|
|
5
|
-
* `fixed` Bug when encoding PEM payloads, potentially causing malformed requests
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## v4.1.1 (2020-11-13)
|
|
9
|
-
|
|
10
|
-
* `fixed` Missing TypeScript definitions
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## v4.1.0 (2020-11-12)
|
|
14
|
-
|
|
15
|
-
* `added` Option `preferredChain` added to `client.getCertificate()` and `client.auto()` to indicate which certificate chain is preferred if a CA offers multiple
|
|
16
|
-
* Related: [https://community.letsencrypt.org/t/transition-to-isrgs-root-delayed-until-jan-11-2021/125516](https://community.letsencrypt.org/t/transition-to-isrgs-root-delayed-until-jan-11-2021/125516)
|
|
17
|
-
* `added` Method `client.getOrder()` to refresh order from CA
|
|
18
|
-
* `fixed` Upgrade `axios@0.21.0`
|
|
19
|
-
* `fixed` Error when attempting to revoke a certificate chain
|
|
20
|
-
* `fixed` Missing URL augmentation in `client.finalizeOrder()` and `client.deactivateAuthorization()`
|
|
21
|
-
* `fixed` Add certificate issuer to response from `forge.readCertificateInfo()`
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## v4.0.2 (2020-10-09)
|
|
25
|
-
|
|
26
|
-
* `fixed` Explicitly set default `axios` HTTP adapter - [axios/axios#1180](https://github.com/axios/axios/issues/1180)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
## v4.0.1 (2020-09-15)
|
|
30
|
-
|
|
31
|
-
* `fixed` Upgrade `node-forge@0.10.0` - [CVE-2020-7720](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7720)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## v4.0.0 (2020-05-29)
|
|
35
|
-
|
|
36
|
-
* `fixed` Incorrect TypeScript `CertificateInfo` definitions
|
|
37
|
-
* `fixed` Allow trailing whitespace character in `http-01` challenge response
|
|
38
|
-
* `breaking` Remove support for Node v8
|
|
39
|
-
* `breaking` Remove deprecated `openssl` crypto module
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## v3.3.1 (2020-01-07)
|
|
43
|
-
|
|
44
|
-
* `fixed` Improvements to TypeScript definitions
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## v3.3.0 (2019-12-19)
|
|
48
|
-
|
|
49
|
-
* `added` TypeScript definitions
|
|
50
|
-
* `fixed` Allow missing ACME directory meta field - [RFC 8555 Section 7.1.1](https://tools.ietf.org/html/rfc8555#section-7.1.1)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## v3.2.1 (2019-11-14)
|
|
54
|
-
|
|
55
|
-
* `added` New option `skipChallengeVerification` added to `client.auto()` to bypass internal challenge verification
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
## v3.2.0 (2019-08-26)
|
|
59
|
-
|
|
60
|
-
* `added` More extensive testing using [letsencrypt/pebble](https://github.com/letsencrypt/pebble)
|
|
61
|
-
* `changed` When creating a CSR, `commonName` no longer defaults to `'localhost'`
|
|
62
|
-
* This change is not considered breaking since `commonName: 'localhost'` will result in an error when ordering a certificate
|
|
63
|
-
* `fixed` Retry signed API requests on `urn:ietf:params:acme:error:badNonce` - [RFC 8555 Section 6.5](https://tools.ietf.org/html/rfc8555#section-6.5)
|
|
64
|
-
* `fixed` Minor bugs related to `POST-as-GET` when calling `updateAccount()`
|
|
65
|
-
* `fixed` Ensure subject common name is present in SAN when creating a CSR - [CAB v1.2.3 Section 9.2.2](https://cabforum.org/wp-content/uploads/BRv1.2.3.pdf)
|
|
66
|
-
* `fixed` Send empty JSON body when responding to challenges - [RFC 8555 Section 7.5.1](https://tools.ietf.org/html/rfc8555#section-7.5.1)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
## v2.3.1 (2019-08-26)
|
|
70
|
-
|
|
71
|
-
* `backport` Minor bugs related to `POST-as-GET` when calling `client.updateAccount()`
|
|
72
|
-
* `backport` Send empty JSON body when responding to challenges
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
## v3.1.0 (2019-08-21)
|
|
76
|
-
|
|
77
|
-
* `added` UTF-8 support when generating a CSR subject using forge - [RFC 5280](https://tools.ietf.org/html/rfc5280)
|
|
78
|
-
* `fixed` Implemented `POST-as-GET` for all ACME API requests - [RFC 8555 Section 6.3](https://tools.ietf.org/html/rfc8555#section-6.3)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
## v2.3.0 (2019-08-21)
|
|
82
|
-
|
|
83
|
-
* `backport` Implemented `POST-as-GET` for all ACME API requests
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
## v3.0.0 (2019-07-13)
|
|
87
|
-
|
|
88
|
-
* `added` Expose `axios` instance to allow manipulating HTTP client defaults
|
|
89
|
-
* `breaking` Remove support for Node v4 and v6
|
|
90
|
-
* `breaking` Remove Babel transpilation
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
## v2.2.3 (2019-01-25)
|
|
94
|
-
|
|
95
|
-
* `added` DNS CNAME detection when verifying `dns-01` challenges
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
## v2.2.2 (2019-01-07)
|
|
99
|
-
|
|
100
|
-
* `added` Support for `tls-alpn-01` challenge key authorization
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
## v2.2.1 (2019-01-04)
|
|
104
|
-
|
|
105
|
-
* `fixed` Handle and throw errors from OpenSSL process
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
## v2.2.0 (2018-11-06)
|
|
109
|
-
|
|
110
|
-
* `added` New [node-forge](https://www.npmjs.com/package/node-forge) crypto engine, removes OpenSSL CLI dependency
|
|
111
|
-
* `added` Support native `crypto.generateKeyPair()` API when generating key pairs
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
## v2.1.0 (2018-10-21)
|
|
115
|
-
|
|
116
|
-
* `added` Ability to set and get current account URL
|
|
117
|
-
* `fixed` Replace HTTP client `request` with `axios`
|
|
118
|
-
* `fixed` Auto-mode no longer tries to create account when account URL exists
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
## v2.0.1 (2018-08-17)
|
|
122
|
-
|
|
123
|
-
* `fixed` Key rollover in compliance with [draft-ietf-acme-13](https://tools.ietf.org/html/draft-ietf-acme-acme-13)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
## v2.0.0 (2018-04-02)
|
|
127
|
-
|
|
128
|
-
* `breaking` ACMEv2
|
|
129
|
-
* `breaking` API changes
|
|
130
|
-
* `breaking` Rewrite to ES6
|
|
131
|
-
* `breaking` Promises instead of callbacks
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
## v1.0.0 (2017-10-20)
|
|
135
|
-
|
|
136
|
-
* API stable
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
## v0.2.1 (2017-09-27)
|
|
140
|
-
|
|
141
|
-
* `fixed` Bug causing invalid anti-replay nonce
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
## v0.2.0 (2017-09-21)
|
|
145
|
-
|
|
146
|
-
* `breaking` OpenSSL method `readCsrDomains` and `readCertificateInfo` now return domains as an object
|
|
147
|
-
* `fixed` Added and fixed some tests
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
## v0.1.0 (2017-09-14)
|
|
151
|
-
|
|
152
|
-
* `acme-client` released
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v4.1.2 (2020-11-16)
|
|
4
|
+
|
|
5
|
+
* `fixed` Bug when encoding PEM payloads, potentially causing malformed requests
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## v4.1.1 (2020-11-13)
|
|
9
|
+
|
|
10
|
+
* `fixed` Missing TypeScript definitions
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## v4.1.0 (2020-11-12)
|
|
14
|
+
|
|
15
|
+
* `added` Option `preferredChain` added to `client.getCertificate()` and `client.auto()` to indicate which certificate chain is preferred if a CA offers multiple
|
|
16
|
+
* Related: [https://community.letsencrypt.org/t/transition-to-isrgs-root-delayed-until-jan-11-2021/125516](https://community.letsencrypt.org/t/transition-to-isrgs-root-delayed-until-jan-11-2021/125516)
|
|
17
|
+
* `added` Method `client.getOrder()` to refresh order from CA
|
|
18
|
+
* `fixed` Upgrade `axios@0.21.0`
|
|
19
|
+
* `fixed` Error when attempting to revoke a certificate chain
|
|
20
|
+
* `fixed` Missing URL augmentation in `client.finalizeOrder()` and `client.deactivateAuthorization()`
|
|
21
|
+
* `fixed` Add certificate issuer to response from `forge.readCertificateInfo()`
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## v4.0.2 (2020-10-09)
|
|
25
|
+
|
|
26
|
+
* `fixed` Explicitly set default `axios` HTTP adapter - [axios/axios#1180](https://github.com/axios/axios/issues/1180)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## v4.0.1 (2020-09-15)
|
|
30
|
+
|
|
31
|
+
* `fixed` Upgrade `node-forge@0.10.0` - [CVE-2020-7720](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7720)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## v4.0.0 (2020-05-29)
|
|
35
|
+
|
|
36
|
+
* `fixed` Incorrect TypeScript `CertificateInfo` definitions
|
|
37
|
+
* `fixed` Allow trailing whitespace character in `http-01` challenge response
|
|
38
|
+
* `breaking` Remove support for Node v8
|
|
39
|
+
* `breaking` Remove deprecated `openssl` crypto module
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## v3.3.1 (2020-01-07)
|
|
43
|
+
|
|
44
|
+
* `fixed` Improvements to TypeScript definitions
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## v3.3.0 (2019-12-19)
|
|
48
|
+
|
|
49
|
+
* `added` TypeScript definitions
|
|
50
|
+
* `fixed` Allow missing ACME directory meta field - [RFC 8555 Section 7.1.1](https://tools.ietf.org/html/rfc8555#section-7.1.1)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## v3.2.1 (2019-11-14)
|
|
54
|
+
|
|
55
|
+
* `added` New option `skipChallengeVerification` added to `client.auto()` to bypass internal challenge verification
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## v3.2.0 (2019-08-26)
|
|
59
|
+
|
|
60
|
+
* `added` More extensive testing using [letsencrypt/pebble](https://github.com/letsencrypt/pebble)
|
|
61
|
+
* `changed` When creating a CSR, `commonName` no longer defaults to `'localhost'`
|
|
62
|
+
* This change is not considered breaking since `commonName: 'localhost'` will result in an error when ordering a certificate
|
|
63
|
+
* `fixed` Retry signed API requests on `urn:ietf:params:acme:error:badNonce` - [RFC 8555 Section 6.5](https://tools.ietf.org/html/rfc8555#section-6.5)
|
|
64
|
+
* `fixed` Minor bugs related to `POST-as-GET` when calling `updateAccount()`
|
|
65
|
+
* `fixed` Ensure subject common name is present in SAN when creating a CSR - [CAB v1.2.3 Section 9.2.2](https://cabforum.org/wp-content/uploads/BRv1.2.3.pdf)
|
|
66
|
+
* `fixed` Send empty JSON body when responding to challenges - [RFC 8555 Section 7.5.1](https://tools.ietf.org/html/rfc8555#section-7.5.1)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## v2.3.1 (2019-08-26)
|
|
70
|
+
|
|
71
|
+
* `backport` Minor bugs related to `POST-as-GET` when calling `client.updateAccount()`
|
|
72
|
+
* `backport` Send empty JSON body when responding to challenges
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## v3.1.0 (2019-08-21)
|
|
76
|
+
|
|
77
|
+
* `added` UTF-8 support when generating a CSR subject using forge - [RFC 5280](https://tools.ietf.org/html/rfc5280)
|
|
78
|
+
* `fixed` Implemented `POST-as-GET` for all ACME API requests - [RFC 8555 Section 6.3](https://tools.ietf.org/html/rfc8555#section-6.3)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## v2.3.0 (2019-08-21)
|
|
82
|
+
|
|
83
|
+
* `backport` Implemented `POST-as-GET` for all ACME API requests
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## v3.0.0 (2019-07-13)
|
|
87
|
+
|
|
88
|
+
* `added` Expose `axios` instance to allow manipulating HTTP client defaults
|
|
89
|
+
* `breaking` Remove support for Node v4 and v6
|
|
90
|
+
* `breaking` Remove Babel transpilation
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## v2.2.3 (2019-01-25)
|
|
94
|
+
|
|
95
|
+
* `added` DNS CNAME detection when verifying `dns-01` challenges
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## v2.2.2 (2019-01-07)
|
|
99
|
+
|
|
100
|
+
* `added` Support for `tls-alpn-01` challenge key authorization
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## v2.2.1 (2019-01-04)
|
|
104
|
+
|
|
105
|
+
* `fixed` Handle and throw errors from OpenSSL process
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## v2.2.0 (2018-11-06)
|
|
109
|
+
|
|
110
|
+
* `added` New [node-forge](https://www.npmjs.com/package/node-forge) crypto engine, removes OpenSSL CLI dependency
|
|
111
|
+
* `added` Support native `crypto.generateKeyPair()` API when generating key pairs
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## v2.1.0 (2018-10-21)
|
|
115
|
+
|
|
116
|
+
* `added` Ability to set and get current account URL
|
|
117
|
+
* `fixed` Replace HTTP client `request` with `axios`
|
|
118
|
+
* `fixed` Auto-mode no longer tries to create account when account URL exists
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## v2.0.1 (2018-08-17)
|
|
122
|
+
|
|
123
|
+
* `fixed` Key rollover in compliance with [draft-ietf-acme-13](https://tools.ietf.org/html/draft-ietf-acme-acme-13)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
## v2.0.0 (2018-04-02)
|
|
127
|
+
|
|
128
|
+
* `breaking` ACMEv2
|
|
129
|
+
* `breaking` API changes
|
|
130
|
+
* `breaking` Rewrite to ES6
|
|
131
|
+
* `breaking` Promises instead of callbacks
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
## v1.0.0 (2017-10-20)
|
|
135
|
+
|
|
136
|
+
* API stable
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
## v0.2.1 (2017-09-27)
|
|
140
|
+
|
|
141
|
+
* `fixed` Bug causing invalid anti-replay nonce
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
## v0.2.0 (2017-09-21)
|
|
145
|
+
|
|
146
|
+
* `breaking` OpenSSL method `readCsrDomains` and `readCertificateInfo` now return domains as an object
|
|
147
|
+
* `fixed` Added and fixed some tests
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
## v0.1.0 (2017-09-14)
|
|
151
|
+
|
|
152
|
+
* `acme-client` released
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017-2020 Publish Lab
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-2020 Publish Lab
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|