@andrewheberle/serverless-ssh-ca 0.23.0 → 0.24.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.
Files changed (94) hide show
  1. package/README.md +119 -0
  2. package/dist/api/operations.d.ts +2 -1
  3. package/dist/api/operations.d.ts.map +1 -1
  4. package/dist/api/operations.js +103 -14
  5. package/dist/api/operations.js.map +1 -1
  6. package/dist/api/schema.d.ts +1 -0
  7. package/dist/api/schema.d.ts.map +1 -1
  8. package/dist/api/schema.js +8 -1
  9. package/dist/api/schema.js.map +1 -1
  10. package/dist/api/v3/index.d.ts.map +1 -1
  11. package/dist/api/v3/index.js +1 -1
  12. package/dist/api/v3/index.js.map +1 -1
  13. package/dist/api/v3/schema.d.ts.map +1 -1
  14. package/dist/api/v3/schema.js +11 -7
  15. package/dist/api/v3/schema.js.map +1 -1
  16. package/dist/api/v4/index.d.ts.map +1 -1
  17. package/dist/api/v4/index.js +1 -1
  18. package/dist/api/v4/index.js.map +1 -1
  19. package/dist/api/v4/schema.d.ts.map +1 -1
  20. package/dist/api/v4/schema.js +11 -7
  21. package/dist/api/v4/schema.js.map +1 -1
  22. package/dist/db/index.d.ts +51 -4
  23. package/dist/db/index.d.ts.map +1 -1
  24. package/dist/db/index.js +133 -33
  25. package/dist/db/index.js.map +1 -1
  26. package/dist/db/migrations/0003_krl_revision.d.ts +3 -0
  27. package/dist/db/migrations/0003_krl_revision.d.ts.map +1 -0
  28. package/dist/db/migrations/0003_krl_revision.js +14 -0
  29. package/dist/db/migrations/0003_krl_revision.js.map +1 -0
  30. package/dist/db/migrations/index.d.ts.map +1 -1
  31. package/dist/db/migrations/index.js +2 -0
  32. package/dist/db/migrations/index.js.map +1 -1
  33. package/dist/db/types.d.ts +2 -0
  34. package/dist/db/types.d.ts.map +1 -1
  35. package/dist/index.d.ts +5 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +4 -2
  38. package/dist/index.js.map +1 -1
  39. package/dist/krl.d.ts +2 -1
  40. package/dist/krl.d.ts.map +1 -1
  41. package/dist/krl.js +3 -2
  42. package/dist/krl.js.map +1 -1
  43. package/dist/node/cache.d.ts +21 -0
  44. package/dist/node/cache.d.ts.map +1 -0
  45. package/dist/node/cache.js +49 -0
  46. package/dist/node/cache.js.map +1 -0
  47. package/dist/node/env.d.ts +6 -3
  48. package/dist/node/env.d.ts.map +1 -1
  49. package/dist/node/env.js +4 -3
  50. package/dist/node/env.js.map +1 -1
  51. package/dist/node/index.d.ts +1 -0
  52. package/dist/node/index.d.ts.map +1 -1
  53. package/dist/node/index.js +1 -0
  54. package/dist/node/index.js.map +1 -1
  55. package/dist/router.d.ts +25 -1
  56. package/dist/router.d.ts.map +1 -1
  57. package/dist/router.js +38 -1
  58. package/dist/router.js.map +1 -1
  59. package/dist/ssh/keys.d.ts +12 -0
  60. package/dist/ssh/keys.d.ts.map +1 -1
  61. package/dist/ssh/keys.js +28 -0
  62. package/dist/ssh/keys.js.map +1 -1
  63. package/dist/types.d.ts +53 -3
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/utils.d.ts +68 -1
  66. package/dist/utils.d.ts.map +1 -1
  67. package/dist/utils.js +166 -13
  68. package/dist/utils.js.map +1 -1
  69. package/dist/verify.d.ts +17 -5
  70. package/dist/verify.d.ts.map +1 -1
  71. package/dist/verify.js +47 -9
  72. package/dist/verify.js.map +1 -1
  73. package/openapi.json +402 -2
  74. package/package.json +1 -1
  75. package/src/api/operations.ts +115 -12
  76. package/src/api/schema.ts +9 -0
  77. package/src/api/v3/index.ts +1 -0
  78. package/src/api/v3/schema.ts +11 -4
  79. package/src/api/v4/index.ts +1 -0
  80. package/src/api/v4/schema.ts +11 -5
  81. package/src/db/index.ts +162 -37
  82. package/src/db/migrations/0003_krl_revision.ts +15 -0
  83. package/src/db/migrations/index.ts +2 -0
  84. package/src/db/types.ts +2 -0
  85. package/src/index.ts +6 -4
  86. package/src/krl.ts +3 -2
  87. package/src/node/cache.ts +62 -0
  88. package/src/node/env.ts +6 -5
  89. package/src/node/index.ts +1 -0
  90. package/src/router.ts +64 -2
  91. package/src/ssh/keys.ts +33 -0
  92. package/src/types.ts +49 -3
  93. package/src/utils.ts +188 -14
  94. package/src/verify.ts +54 -14
package/README.md CHANGED
@@ -41,6 +41,7 @@ Node.js 24 or later is required. Helpers for Node.js are imported from
41
41
  | `fromNodeSqlite(db)` | Uses a built-in `node:sqlite` database as the `DB` binding |
42
42
  | `secretFromFile(path)` | Reads the CA private key from a file (re-read each time it is needed) |
43
43
  | `secretFromString(value)` | Uses a string as the CA private key |
44
+ | `cacheInMemory()` | Uses an in-memory cache as the optional `CACHE` binding (see [KRL Caching](#krl-caching)) |
44
45
  | `bindingsFromEnv({ DB, PRIVATE_KEY })` | Reads and validates the remaining configuration from `process.env` |
45
46
 
46
47
  `createSshCa(bindings)` returns a `fetch(request)` handler that takes a
@@ -216,6 +217,12 @@ sequenceDiagram
216
217
  deactivate Client
217
218
  ```
218
219
 
220
+ Host certificate principals may be IP addresses, bare host names or fully
221
+ qualified domain names. As OpenSSH matches the principals of a host
222
+ certificate as patterns, principals containing wildcard or pattern characters
223
+ (`*`, `?`, `!` or `,`), whitespace or control characters are refused, as a
224
+ principal such as `*` would make the certificate valid for every host.
225
+
219
226
  #### Renewals
220
227
 
221
228
  Renewals are done using the existing certificate and will succeed if:
@@ -224,6 +231,12 @@ Renewals are done using the existing certificate and will succeed if:
224
231
  2. It was issued by the CA
225
232
  3. The public key used to obtain the certificate is the same as the one
226
233
  currently presented
234
+ 4. It has not been revoked, or already renewed
235
+
236
+ The certificate that was renewed is revoked and added to the host KRL, so it
237
+ cannot be used to renew again. SSH clients that check the host KRL will no
238
+ longer accept it, so `sshd` must be reloaded to present the renewed
239
+ certificate once it has been written to disk.
227
240
 
228
241
  This means the OIDC authentication flow is not required in this case as shown
229
242
  below when `ssh-ca-client-cli host --renew` is run:
@@ -255,6 +268,11 @@ format at `/docs` and in [openapi.json](openapi.json):
255
268
  | Revoke host certificate | `POST /api/v3/host/revoke` | `DELETE /api/v4/host/certificates/{serial}` |
256
269
  | Get host KRL | `GET /api/v3/host/krl` | `GET /api/v4/host/krl` |
257
270
 
271
+ Certificates are issued for Ed25519, ECDSA and RSA keys. RSA keys must be at
272
+ least 2048 bits; a request for a smaller key is refused with a `400` error,
273
+ and a certificate for a smaller key cannot be renewed. Certificates for
274
+ smaller keys can still be revoked.
275
+
258
276
  ### Proof of Possession
259
277
 
260
278
  Requests that use an SSH key prove possession of its private key by including
@@ -328,6 +346,107 @@ Transfer the IdP settings as follows:
328
346
  The `openid` and `email` scopes are required, with enabling of refresh tokens
329
347
  (the `offline_access` scope) being optional, but recommended.
330
348
 
349
+ `JWT_AUD` must be set to the audience the IdP issues tokens for this
350
+ application with (for Cloudflare Access, the application's AUD tag). Both the
351
+ access token and the identity token must be issued for this audience, so
352
+ tokens the IdP issues for other applications are not accepted. If the IdP
353
+ issues access tokens with a different audience to identity tokens, set
354
+ `JWT_ACCESS_TOKEN_AUD` to the audience of the access token. Either value may
355
+ be a comma separated list. If `JWT_AUD` is not set, requests that need a
356
+ token fail with a `500` error.
357
+
358
+ The `email` claim of the access token must be an email address. It is used as
359
+ the key ID of user certificates, and with `SSH_CERTIFICATE_INCLUDE_SELF` its
360
+ local part (before the `@`) is added as a principal. If the IdP includes the
361
+ `email_verified` claim it must be `true`, so tokens for an address the IdP has
362
+ not verified are refused.
363
+
364
+ As the local part does not include the domain, `alice@example.com` and
365
+ `alice@example.net` are given the same principal with
366
+ `SSH_CERTIFICATE_INCLUDE_SELF`. Only enable it when the IdP only allows users
367
+ from domains you control.
368
+
369
+ ### Rate Limiting
370
+
371
+ Requests to issue, renew and revoke certificates can be rate limited by
372
+ adding a [rate limit binding](https://developers.cloudflare.com/workers/runtime-apis/bindings/rate-limit/)
373
+ named `RATE_LIMITER` to `wrangler.jsonc`:
374
+
375
+ ```jsonc
376
+ "ratelimits": [
377
+ {
378
+ "name": "RATE_LIMITER",
379
+ "namespace_id": "1001",
380
+ "simple": { "limit": 10, "period": 60 }
381
+ }
382
+ ]
383
+ ```
384
+
385
+ Requests are counted by the client IP address in the `CF-Connecting-IP`
386
+ header, and requests over the limit receive a `429` response. Requests to get
387
+ the CA public key and the KRLs are not limited, as many hosts may fetch them
388
+ from the same address. When no `RATE_LIMITER` binding is configured, requests
389
+ are not limited. If the rate limiter fails, the request is allowed and the
390
+ error is logged, so certificates can still be issued and revoked.
391
+
392
+ On Node.js, pass any limiter with the same shape (a `limit({ key })` method
393
+ returning `{ success }`, see `CaRateLimiter`) as `RATE_LIMITER`, and choose
394
+ the key requests are counted by with the `rateLimitKey` option, as there is no
395
+ `CF-Connecting-IP` header:
396
+
397
+ ```ts
398
+ const ca = createSshCa(bindingsFromEnv({
399
+ DB: fromNodeSqlite(new DatabaseSync("/var/lib/ssh-ca/ssh-ca.sqlite")),
400
+ PRIVATE_KEY: secretFromFile("/etc/ssh-ca/ca_key"),
401
+ RATE_LIMITER: myLimiter,
402
+ }), {
403
+ // the client address as set by your reverse proxy
404
+ rateLimitKey: (req) => req.headers.get("X-Real-IP") ?? undefined,
405
+ })
406
+ ```
407
+
408
+ Requests for which `rateLimitKey` returns `undefined` are not limited.
409
+
410
+ ### KRL Caching
411
+
412
+ Generating and signing a KRL reads every revoked certificate from the
413
+ database, so the KRLs can be cached by adding an optional `CACHE` binding. On
414
+ Workers this is a KV namespace:
415
+
416
+ ```jsonc
417
+ "kv_namespaces": [
418
+ {
419
+ "binding": "CACHE",
420
+ "id": "<kv namespace id>"
421
+ }
422
+ ]
423
+ ```
424
+
425
+ On Node.js an in-memory cache can be passed to `bindingsFromEnv`, or any
426
+ other cache that implements the `CaCache` interface:
427
+
428
+ ```ts
429
+ const ca = createSshCa(bindingsFromEnv({
430
+ DB: fromNodeSqlite(new DatabaseSync("/var/lib/ssh-ca/ssh-ca.sqlite")),
431
+ PRIVATE_KEY: secretFromFile("/etc/ssh-ca/ca_key"),
432
+ CACHE: cacheInMemory(),
433
+ }))
434
+ ```
435
+
436
+ A cached KRL is never served after it is out of date. Each certificate type
437
+ has a revision in the database that is incremented whenever a certificate of
438
+ that type is revoked (including the previous certificate on a host
439
+ renewal), or when expired certificates are removed. The cache key includes
440
+ this revision and the fingerprint of the CA key, so a revocation or a new CA
441
+ key immediately uses a new key rather than relying on cache entries being
442
+ deleted or the cache being consistent. Entries are left to expire after 7
443
+ days.
444
+
445
+ A KRL keeps the same version and generation date until its contents
446
+ change, so a regenerated KRL is identical to the one that was cached. If the
447
+ cache cannot be read or written the KRL is generated as it is without a
448
+ cache.
449
+
331
450
  ### Client
332
451
 
333
452
  Please visit the ssh-ca-client repository for further information:
@@ -31,9 +31,10 @@ export declare const revocationList: (c: AppContext, l: Logger, certificateType:
31
31
  * @param l The logger for the request
32
32
  * @param sign Signs and returns the certificate
33
33
  * @param certificateType The type of certificate being issued
34
+ * @param renews The host certificate being renewed, which is revoked when the new certificate is recorded
34
35
  * @returns The response containing the issued certificate
35
36
  */
36
- export declare const issueCertificate: (c: AppContext, l: Logger, sign: () => Promise<SshCertificate>, certificateType: CertificateType) => Promise<Response>;
37
+ export declare const issueCertificate: (c: AppContext, l: Logger, sign: () => Promise<SshCertificate>, certificateType: CertificateType, renews?: SshCertificate) => Promise<Response>;
37
38
  /**
38
39
  * Revokes a certificate once the requester has proven possession of the
39
40
  * private key for the public key it was issued for.
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/api/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAQtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAgChD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,MAAa,UAAU,KAAK,MAAM,KAAG,OAAO,CAAC,QAAQ,CAQ5E,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,MAAa,UAAU,KAAK,MAAM,mBAAmB,eAAe,KAAG,OAAO,CAAC,QAAQ,CAkCjH,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,MAAa,UAAU,KAAK,MAAM,QAAQ,MAAM,OAAO,CAAC,cAAc,CAAC,mBAAmB,eAAe,KAAG,OAAO,CAAC,QAAQ,CAuCxJ,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,MAAa,UAAU,KAAK,MAAM,UAAU,MAAM,aAAa,SAAS,mBAAmB,eAAe,KAAG,OAAO,CAAC,QAAQ,CAsC/I,CAAA"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/api/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAStD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAoChD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,MAAa,UAAU,KAAK,MAAM,KAAG,OAAO,CAAC,QAAQ,CAQ5E,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,MAAa,UAAU,KAAK,MAAM,mBAAmB,eAAe,KAAG,OAAO,CAAC,QAAQ,CA+DjH,CAAA;AAiDD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,MAAa,UAAU,KAAK,MAAM,QAAQ,MAAM,OAAO,CAAC,cAAc,CAAC,mBAAmB,eAAe,WAAW,cAAc,KAAG,OAAO,CAAC,QAAQ,CA0DjL,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,MAAa,UAAU,KAAK,MAAM,UAAU,MAAM,aAAa,SAAS,mBAAmB,eAAe,KAAG,OAAO,CAAC,QAAQ,CAwC/I,CAAA"}
@@ -1,10 +1,12 @@
1
1
  import { group } from "@andrewheberle/ts-slog";
2
- import { ApiException, ConflictException, InternalServerErrorException, NotFoundException, UnprocessableEntityException, } from "chanfana";
3
- import { BadIssuerError } from "../certificate.js";
2
+ import { ApiException, ConflictException, InputValidationException, InternalServerErrorException, NotFoundException, UnprocessableEntityException, } from "chanfana";
3
+ import { BadIssuerError, CertificateError } from "../certificate.js";
4
4
  import { KeyParseError } from "../ssh/keys.js";
5
5
  import { getPrivateKey, getPublic, UnsupportedKeyError } from "../utils.js";
6
6
  import { KRLBuilder } from "../krl.js";
7
- import { getKrlVersion, getRevocationList, recordCertificate, RevocationStatus, revocationStatus, revokeCertificate, } from "../db/index.js";
7
+ import { z } from "zod";
8
+ import { certificateTypeName } from "./schema.js";
9
+ import { getKrlRevision, getKrlVersion, getRevocationList, recordCertificate, recordRenewal, RevocationStatus, revocationStatus, revokeCertificate, } from "../db/index.js";
8
10
  /**
9
11
  * Maps an error from an operation that uses the CA key to an API error.
10
12
  */
@@ -51,16 +53,32 @@ export const caPublicKey = async (c, l) => {
51
53
  */
52
54
  export const revocationList = async (c, l, certificateType) => {
53
55
  try {
54
- // get revoked serials
55
- const serials = (await getRevocationList(c.env, certificateType)).map(v => BigInt(v));
56
56
  // grab private key from secret store
57
57
  const key = await getPrivateKey(c.env);
58
+ // a cached KRL is keyed by the revision it was generated for, which
59
+ // changes whenever a certificate is revoked, and by the CA key that
60
+ // signed it, so a cached KRL is never used once it is out of date. The
61
+ // revision is read before the revoked serials, so the KRL cached for a
62
+ // revision includes at least every certificate revoked by then
63
+ const cache = c.env.CACHE;
64
+ const cacheKey = cache === undefined
65
+ ? undefined
66
+ : `krl:${certificateTypeName(certificateType)}:${key.publicKey.fingerprint()}:${await getKrlRevision(c.env, certificateType)}`;
67
+ if (cache !== undefined && cacheKey !== undefined) {
68
+ const cached = await readCachedKrl(cache, cacheKey, l);
69
+ if (cached !== undefined) {
70
+ return c.json(cached);
71
+ }
72
+ }
73
+ // get revoked serials
74
+ const serials = (await getRevocationList(c.env, certificateType)).map(v => BigInt(v));
58
75
  // generate KRL
59
76
  const krl = new KRLBuilder(key)
60
77
  .addSerials(serials);
61
- // the version only changes when the content of the KRL does
62
- const version = await getKrlVersion(c.env, certificateType, await krl.digest());
63
- const krlBytes = krl.generate(version);
78
+ // the version only changes when the content of the KRL does, and every
79
+ // KRL with the same version has the same generation date
80
+ const { version, generatedAt } = await getKrlVersion(c.env, certificateType, await krl.digest());
81
+ const krlBytes = krl.generate(version, "", generatedAt);
64
82
  // convert to base64
65
83
  const bytes = new Uint8Array(krlBytes);
66
84
  let binary = "";
@@ -69,15 +87,65 @@ export const revocationList = async (c, l, certificateType) => {
69
87
  }
70
88
  const base64Krl = btoa(binary);
71
89
  const signature = await krl.signature();
72
- return c.json({
90
+ const response = {
73
91
  krl: base64Krl,
74
92
  signature: signature,
75
- });
93
+ };
94
+ if (cache !== undefined && cacheKey !== undefined) {
95
+ try {
96
+ await cache.put(cacheKey, JSON.stringify(response), { expirationTtl: KrlCacheTtl });
97
+ }
98
+ catch (err) {
99
+ // the KRL is still returned, it is generated again next time
100
+ l.warn("could not cache KRL", "error", err);
101
+ }
102
+ }
103
+ return c.json(response);
76
104
  }
77
105
  catch (err) {
78
106
  throw caKeyError(l, err);
79
107
  }
80
108
  };
109
+ const KrlResponseSchema = z.object({
110
+ krl: z.string(),
111
+ signature: z.string(),
112
+ });
113
+ // how long a cached KRL is kept, in seconds. A cached KRL is only used for
114
+ // the revision it was generated for, so this only removes entries for earlier
115
+ // revisions from the cache
116
+ const KrlCacheTtl = 7 * 24 * 60 * 60;
117
+ /**
118
+ * Returns a cached KRL response, or undefined if there is none or it cannot be
119
+ * used, in which case the KRL is generated again.
120
+ */
121
+ const readCachedKrl = async (cache, key, l) => {
122
+ let cached;
123
+ try {
124
+ cached = await cache.get(key);
125
+ }
126
+ catch (err) {
127
+ l.warn("could not read cached KRL", "error", err);
128
+ return undefined;
129
+ }
130
+ if (cached === null) {
131
+ return undefined;
132
+ }
133
+ let json;
134
+ try {
135
+ json = JSON.parse(cached);
136
+ }
137
+ catch {
138
+ l.warn("cached KRL was not valid JSON");
139
+ return undefined;
140
+ }
141
+ const parsed = KrlResponseSchema.safeParse(json);
142
+ if (!parsed.success) {
143
+ l.warn("cached KRL was not a valid KRL response");
144
+ return undefined;
145
+ }
146
+ l.debug("using cached KRL", "key", key);
147
+ return parsed.data;
148
+ };
81
149
  /**
82
150
  * Signs a certificate, records it so it can later be revoked and returns it
83
151
  * as the response to a certificate request or renewal.
@@ -89,23 +157,36 @@ export const revocationList = async (c, l, certificateType) => {
89
157
  * @param l The logger for the request
90
158
  * @param sign Signs and returns the certificate
91
159
  * @param certificateType The type of certificate being issued
160
+ * @param renews The host certificate being renewed, which is revoked when the new certificate is recorded
92
161
  * @returns The response containing the issued certificate
93
162
  */
94
- export const issueCertificate = async (c, l, sign, certificateType) => {
163
+ export const issueCertificate = async (c, l, sign, certificateType, renews) => {
95
164
  try {
96
165
  const certificate = await sign();
97
166
  const response = {
98
167
  certificate: btoa(certificate.toString())
99
168
  };
169
+ let recorded;
100
170
  try {
101
- await recordCertificate(c.env, certificate, certificate.keyId, certificateType);
171
+ if (renews === undefined) {
172
+ await recordCertificate(c.env, certificate, certificate.keyId, certificateType);
173
+ recorded = true;
174
+ }
175
+ else {
176
+ recorded = await recordRenewal(c.env, renews, certificate);
177
+ }
102
178
  }
103
179
  catch (err) {
104
180
  // a certificate that is not recorded cannot be revoked, so do not issue it
105
181
  l.error("there was a problem adding issued certificate to database", "error", err);
106
182
  throw new InternalServerErrorException("there was a problem recording the issued certificate");
107
183
  }
108
- l.info("completed issuing certificate", ...group("certificate", "principals", certificate.principals.join(","), "serial", certificate.serial));
184
+ if (!recorded) {
185
+ // the certificate was revoked, or renewed by another request, since it was checked
186
+ l.warn("certificate presented for renewal was revoked before the renewal was recorded");
187
+ throw new InputValidationException("the provided certificate is revoked", ["body", "certificate"]);
188
+ }
189
+ l.info("completed issuing certificate", ...group("certificate", "principals", certificate.principals.join(","), "serial", certificate.serial), ...(renews === undefined ? [] : group("renewed", "serial", renews.serial)));
109
190
  return c.json(response);
110
191
  }
111
192
  catch (err) {
@@ -118,6 +199,12 @@ export const issueCertificate = async (c, l, sign, certificateType) => {
118
199
  throw err;
119
200
  case (err instanceof BadIssuerError):
120
201
  throw new UnprocessableEntityException(err.message);
202
+ case (err instanceof CertificateError):
203
+ // the request was valid but asked for a certificate the CA's
204
+ // configuration does not allow, such as an extension that is
205
+ // not permitted or one without any principals
206
+ l.warn("certificate could not be issued", "error", err.message);
207
+ throw new UnprocessableEntityException(err.message);
121
208
  default:
122
209
  // otherwise throw as InternalServerErrorException
123
210
  l.error("unhandled error", "error", err);
@@ -150,7 +237,9 @@ export const revoke = async (c, l, serial, publicKey, certificateType) => {
150
237
  try {
151
238
  const res = await revokeCertificate(c.env, serial);
152
239
  if (res.length === 0) {
153
- throw new InternalServerErrorException("no results were returned for revocation");
240
+ // another request revoked the certificate after its status was checked
241
+ l.warn("certificate was revoked by another request");
242
+ throw new ConflictException("certificate is already revoked");
154
243
  }
155
244
  if (res.length > 1) {
156
245
  l.warn("more than one revocation result was returned", "count", res.length);
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/api/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/api/operations.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare const certificateTypeTag: (certificateType: CertificateType) => "
16
16
  export declare const openapiStringByte: z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>;
17
17
  export declare const proofOfPossession: z.ZodString;
18
18
  export declare const publicKey: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
19
+ export declare const subjectPublicKey: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
19
20
  export declare const createIdentityTokenSchema: (env: SshCaBindings) => z.ZodPipe<z.ZodString, z.ZodTransform<{
20
21
  sub: string;
21
22
  principals: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/api/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAUhD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,oBAAqB,eAAe,KAAG,MAAM,GAAG,MAW/E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,oBAAqB,eAAe,KAAG,MAAM,GAAG,MAW9E,CAAA;AAED,eAAO,MAAM,iBAAiB,qEASD,CAAA;AAE7B,eAAO,MAAM,iBAAiB,aAI3B,CAAA;AAEH,eAAO,MAAM,SAAS,yJAKnB,CAAA;AAEH,eAAO,MAAM,yBAAyB,QAAS,aAAa;;;WAO3D,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAS,aAAa;;;WAOzD,CAAA;AAED,eAAO,MAAM,GAAG,qEAC8B,CAAA;AAE9C,eAAO,MAAM,kBAAkB,QAAS,aAAa;;;;;iBAIpD,CAAA;AAED,eAAO,MAAM,WAAW,qEACqB,CAAA;AAE7C,eAAO,MAAM,yBAAyB;;;;;;YAMnC,OAAO;gBACN,YAAY;oBACX,MAAM;;;YAGR,WAAW;;;CAIb,CAAA;AAED,eAAO,MAAM,kCAAkC,oBAAqB,eAAe;;;;;;;;;;;;;;;;;;;;CAgBjF,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/api/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAWhD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,oBAAqB,eAAe,KAAG,MAAM,GAAG,MAW/E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,oBAAqB,eAAe,KAAG,MAAM,GAAG,MAW9E,CAAA;AAED,eAAO,MAAM,iBAAiB,qEASD,CAAA;AAE7B,eAAO,MAAM,iBAAiB,aAI3B,CAAA;AAEH,eAAO,MAAM,SAAS,yJAKnB,CAAA;AAEH,eAAO,MAAM,gBAAgB,yJAM1B,CAAA;AAEH,eAAO,MAAM,yBAAyB,QAAS,aAAa;;;WAO3D,CAAA;AAED,eAAO,MAAM,uBAAuB,QAAS,aAAa;;;WAOzD,CAAA;AAED,eAAO,MAAM,GAAG,qEAC8B,CAAA;AAE9C,eAAO,MAAM,kBAAkB,QAAS,aAAa;;;;;iBAIpD,CAAA;AAED,eAAO,MAAM,WAAW,qEACqB,CAAA;AAE7C,eAAO,MAAM,yBAAyB;;;;;;YAMnC,OAAO;gBACN,YAAY;oBACX,MAAM;;;YAGR,WAAW;;;CAIb,CAAA;AAED,eAAO,MAAM,kCAAkC,oBAAqB,eAAe;;;;;;;;;;;;;;;;;;;;CAgBjF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import z from "zod";
2
- import { transformAuthorizationHeader, transformPublicKey, transformIdentityToken, } from "../utils.js";
2
+ import { refineSubjectKey, transformAuthorizationHeader, transformPublicKey, transformIdentityToken, } from "../utils.js";
3
3
  import { contentJson, InternalServerErrorException, } from "chanfana";
4
4
  import { CertificateType } from "../db/types.js";
5
5
  /**
@@ -53,6 +53,13 @@ export const publicKey = openapiStringByte
53
53
  description: "SSH public key to sign",
54
54
  example: "ZWNkc2Etc2hhMi1uaXN0cDI1NiBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkdNcFNKdHRmMEl0dE5DVmMyOFR6WEZSMUQweHZPM25wNjdWemVBUXNiZFpza3JEY1lqU2x3SjZIUERtVHBYYVUwbEVhWDlMNFloYy9jQ2YxTWU5RlRrPQo="
55
55
  });
56
+ export const subjectPublicKey = openapiStringByte
57
+ .transform(transformPublicKey)
58
+ .superRefine(refineSubjectKey)
59
+ .meta({
60
+ description: "SSH public key to sign",
61
+ example: "ZWNkc2Etc2hhMi1uaXN0cDI1NiBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQkdNcFNKdHRmMEl0dE5DVmMyOFR6WEZSMUQweHZPM25wNjdWemVBUXNiZFpza3JEY1lqU2x3SjZIUERtVHBYYVUwbEVhWDlMNFloYy9jQ2YxTWU5RlRrPQo="
62
+ });
56
63
  export const createIdentityTokenSchema = (env) => (z.string()
57
64
  .meta({
58
65
  description: "Identity Token JWT from OIDC IdP",
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/api/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EACN,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACN,WAAW,EACX,4BAA4B,GAC5B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,eAAgC,EAAmB,EAAE;IACxF,QAAQ,eAAe,EAAE,CAAC;QACzB,KAAK,eAAe,CAAC,IAAI;YACxB,OAAO,MAAM,CAAA;QACd,KAAK,eAAe,CAAC,IAAI;YACxB,OAAO,MAAM,CAAA;QACd,SAAS,CAAC;YACT,MAAM,WAAW,GAAU,eAAe,CAAA;YAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACpE,CAAC;IACF,CAAC;AACF,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,eAAgC,EAAmB,EAAE;IACvF,QAAQ,eAAe,EAAE,CAAC;QACzB,KAAK,eAAe,CAAC,IAAI;YACxB,OAAO,MAAM,CAAA;QACd,KAAK,eAAe,CAAC,IAAI;YACxB,OAAO,MAAM,CAAA;QACd,SAAS,CAAC;YACT,MAAM,WAAW,GAAU,eAAe,CAAA;YAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACpE,CAAC;IACF,CAAC;AACF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE;KACzC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IAChB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,IAAI,CACjB,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,MAAM,CACR,CAAA;AACF,CAAC,CAAC;KACD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE;KACzC,IAAI,CAAC;IACL,WAAW,EAAE,4EAA4E;IACzF,OAAO,EAAE,+kBAA+kB;CACxlB,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,iBAAiB;KACxC,SAAS,CAAC,kBAAkB,CAAC;KAC7B,IAAI,CAAC;IACL,WAAW,EAAE,wBAAwB;IACrC,OAAO,EAAE,0NAA0N;CACnO,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,CAChE,CAAC,CAAC,MAAM,EAAE;KACR,IAAI,CAAC;IACL,WAAW,EAAE,kCAAkC;IAC/C,OAAO,EAAE,odAAod;CAC7d,CAAC;KACD,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAChE,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,CAC9D,CAAC,CAAC,MAAM,EAAE;KACR,IAAI,CAAC;IACL,WAAW,EAAE,gCAAgC;IAC7C,OAAO,EAAE,eAAe;CACxB,CAAC;KACD,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACtE,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,iBAAiB;KAClC,IAAI,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,CACzD,CAAC,CAAC,MAAM,CAAC;IACR,eAAe,EAAE,uBAAuB,CAAC,GAAG,CAAC;CAC7C,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB;KAC1C,IAAI,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,IAAI,EAAE,CAAC,IAAI,CAAC;IACZ,OAAO,EAAE,uBAAuB;IAChC,WAAW,EAAE,wLAAwL;IACrM,SAAS,EAAE;QACV,KAAK,EAAE;YACN,OAAO,EAAE;gBACR,YAAY,EAAE;oBACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;iBAClB;aACD;YACD,WAAW,EAAE,8CAA8C;SAC3D;QACD,GAAG,4BAA4B,CAAC,MAAM,EAAE;KACxC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,eAAgC,EAAE,EAAE,CAAC,CAAC;IACxF,IAAI,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAC3C,OAAO,EAAE,mCAAmC,mBAAmB,CAAC,eAAe,CAAC,eAAe;IAC/F,WAAW,EAAE,4DAA4D,mBAAmB,CAAC,eAAe,CAAC,2HAA2H;IACxO,SAAS,EAAE;QACV,KAAK,EAAE;YACN,WAAW,EAAE,sDAAsD,mBAAmB,CAAC,eAAe,CAAC,kEAAkE;YACzK,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvB,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aACrB,CAAC;iBACA,OAAO,CAAC,8BAA8B,CAAC,CACxC;SACD;QACD,GAAG,4BAA4B,CAAC,MAAM,EAAE;KACxC;CACD,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/api/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/v3/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AA0KnD,eAAO,MAAM,SAAS,QAAS,aAAa,mHAa3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/v3/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AA2KnD,eAAO,MAAM,SAAS,QAAS,aAAa,mHAa3C,CAAA"}
@@ -84,7 +84,7 @@ const HostCertificateRenewEndpoint = (env) => {
84
84
  lifetime: lifetime,
85
85
  principals: data.body.certificate.principals,
86
86
  };
87
- return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.public_key, opts), CertificateType.Host);
87
+ return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.public_key, opts), CertificateType.Host, data.body.certificate);
88
88
  }
89
89
  };
90
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/v3/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/v3/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/v3/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAsBnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAYnD,OAAO,EACN,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,GAClC,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;;;;;iBAiB1E,CAAA;AAED,eAAO,MAAM,0CAA0C,QAAS,aAAa;;;;;;;;QAM3E,OAAO;;;;;;QACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBJ,CAAA;AAEF,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;;;;;iBAgB1E,CAAA;AAED,eAAO,MAAM,0CAA0C,QAAS,aAAa;;;;;;;;QAM3E,OAAO;;;;;;QACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBJ,CAAA;AAEF,eAAO,MAAM,sCAAsC,QAAS,aAAa;;;;;iBAgBxE,CAAA;AAED,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;QAKzE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBJ,CAAA;AAEF,eAAO,MAAM,mCAAmC,QAAS,aAAa;;;;iBAerE,CAAA;AAED,eAAO,MAAM,qCAAqC,QAAS,aAAa,mBAAmB,eAAe;;;;;QAKxG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBJ,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/v3/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAwBnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAanD,OAAO,EACN,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,kCAAkC,GAClC,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;;;;;iBAiB1E,CAAA;AAED,eAAO,MAAM,0CAA0C,QAAS,aAAa;;;;;;;;QAM3E,OAAO;;;;;;QACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBJ,CAAA;AAEF,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;;;;;iBAgB1E,CAAA;AAED,eAAO,MAAM,0CAA0C,QAAS,aAAa;;;;;;;;QAM3E,OAAO;;;;;;QACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBJ,CAAA;AAEF,eAAO,MAAM,sCAAsC,QAAS,aAAa;;;;;iBAgBxE,CAAA;AAED,eAAO,MAAM,wCAAwC,QAAS,aAAa;;;;;QAKzE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBJ,CAAA;AAEF,eAAO,MAAM,mCAAmC,QAAS,aAAa;;;;iBAerE,CAAA;AAED,eAAO,MAAM,qCAAqC,QAAS,aAAa,mBAAmB,eAAe;;;;;QAKxG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBJ,CAAA"}
@@ -1,13 +1,13 @@
1
1
  import z from "zod";
2
- import { split, refineCertificateRequest, transformProofOfPossession, transformRenewalProofOfPossession, refineHostCertificateRequest, transformCertificate, refineHostCertificateRenewal, refineRevokeCertificate, } from "../../utils.js";
3
- import { ConflictException, contentJson, ForbiddenException, InputValidationException, InternalServerErrorException, UnauthorizedException, UnprocessableEntityException, } from "chanfana";
2
+ import { refineHostPrincipal, split, refineCertificateRequest, transformProofOfPossession, transformRenewalProofOfPossession, refineHostCertificateRequest, transformCertificate, refineHostCertificateRenewal, refineRevokeCertificate, } from "../../utils.js";
3
+ import { ConflictException, contentJson, ForbiddenException, InputValidationException, InternalServerErrorException, TooManyRequestsException, UnauthorizedException, UnprocessableEntityException, } from "chanfana";
4
4
  import { seconds } from "itty-time";
5
5
  import { isRevoked } from "../../db/index.js";
6
6
  import { CertificateType } from "../../db/types.js";
7
- import { certificate, certificateTypeName, certificateTypeTag, createHeaderSchema, createIdentityTokenSchema, openapiStringByte, proofOfPossession, publicKey, } from "../schema.js";
7
+ import { certificate, certificateTypeName, certificateTypeTag, createHeaderSchema, createIdentityTokenSchema, openapiStringByte, proofOfPossession, publicKey, subjectPublicKey, } from "../schema.js";
8
8
  export { CaPublicKeyEndpointSchema, certificateTypeName, createAccessTokenSchema, createHeaderSchema, createIdentityTokenSchema, createRevocationListEndpointSchema, } from "../schema.js";
9
9
  export const userCertificateRequestEndpointBodySchema = (env) => (z.object({
10
- public_key: publicKey,
10
+ public_key: subjectPublicKey,
11
11
  proof: proofOfPossession
12
12
  .transform((val, ctx) => transformProofOfPossession(env, val, ctx)),
13
13
  identity: createIdentityTokenSchema(env),
@@ -44,14 +44,15 @@ export const createUserCertificateRequestEndpointSchema = (env) => ({
44
44
  ...InputValidationException.schema(),
45
45
  ...UnprocessableEntityException.schema(),
46
46
  ...InternalServerErrorException.schema(),
47
+ ...TooManyRequestsException.schema(),
47
48
  }
48
49
  });
49
50
  export const hostCertificateRequestEndpointBodySchema = (env) => (z.object({
50
- public_key: publicKey,
51
+ public_key: subjectPublicKey,
51
52
  proof: proofOfPossession
52
53
  .transform((val, ctx) => transformProofOfPossession(env, val, ctx)),
53
54
  identity: createIdentityTokenSchema(env),
54
- principals: z.array(z.string()).min(1)
55
+ principals: z.array(z.string().superRefine(refineHostPrincipal)).min(1)
55
56
  .meta({ description: "List of principals to include on the issued certificate" }),
56
57
  lifetime: z.int()
57
58
  .min(seconds("24 hours"))
@@ -83,6 +84,7 @@ export const createHostCertificateRequestEndpointSchema = (env) => ({
83
84
  ...InputValidationException.schema(),
84
85
  ...UnprocessableEntityException.schema(),
85
86
  ...InternalServerErrorException.schema(),
87
+ ...TooManyRequestsException.schema(),
86
88
  }
87
89
  });
88
90
  export const hostCertificateRenewEndpointBodySchema = (env) => (z.object({
@@ -103,7 +105,7 @@ export const hostCertificateRenewEndpointBodySchema = (env) => (z.object({
103
105
  export const createHostCertificateRenewEndpointSchema = (env) => ({
104
106
  tags: [certificateTypeTag(CertificateType.Host)],
105
107
  summary: "Renew a host certificate",
106
- description: "Issues a new SSH host certificate with the same principals as an existing, unexpired and unrevoked host certificate issued by this CA. No OIDC authentication is required; instead the public key must match the existing certificate and the proof of possession must be made with its private key. The lifetime of the renewed certificate is no longer than that of the existing certificate.",
108
+ description: "Issues a new SSH host certificate with the same principals as an existing, unexpired and unrevoked host certificate issued by this CA. No OIDC authentication is required; instead the public key must match the existing certificate and the proof of possession must be made with its private key. The lifetime of the renewed certificate is no longer than that of the existing certificate. The existing certificate is revoked, so it cannot be used or renewed again once the renewed certificate is installed.",
107
109
  request: {
108
110
  body: contentJson(hostCertificateRenewEndpointBodySchema(env))
109
111
  },
@@ -120,6 +122,7 @@ export const createHostCertificateRenewEndpointSchema = (env) => ({
120
122
  ...InputValidationException.schema(),
121
123
  ...UnprocessableEntityException.schema(),
122
124
  ...InternalServerErrorException.schema(),
125
+ ...TooManyRequestsException.schema(),
123
126
  }
124
127
  });
125
128
  export const revokeCertificateEndpointBodySchema = (env) => (z.object({
@@ -156,6 +159,7 @@ export const createRevokeCertificateEndpointSchema = (env, certificateType) => (
156
159
  ...InputValidationException.schema(),
157
160
  ...UnprocessableEntityException.schema(),
158
161
  ...InternalServerErrorException.schema(),
162
+ ...TooManyRequestsException.schema(),
159
163
  ...ConflictException.schema()
160
164
  }
161
165
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/api/v3/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/api/v3/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/v4/index.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,QAAQ,YAAY,CAAA;AAqNjC,eAAO,MAAM,SAAS,QAAS,aAAa,mHAa3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/v4/index.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,QAAQ,YAAY,CAAA;AAsNjC,eAAO,MAAM,SAAS,QAAS,aAAa,mHAa3C,CAAA"}
@@ -121,7 +121,7 @@ const RenewHostCertificateEndpoint = (env) => {
121
121
  lifetime: lifetime,
122
122
  principals: data.body.certificate.principals,
123
123
  };
124
- return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.certificate.publicKey, opts), CertificateType.Host);
124
+ return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.certificate.publicKey, opts), CertificateType.Host, data.body.certificate);
125
125
  }
126
126
  };
127
127
  };