@andrewheberle/serverless-ssh-ca 0.21.0 → 0.23.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/README.md +55 -1
- package/dist/api/operations.d.ts +49 -0
- package/dist/api/operations.d.ts.map +1 -0
- package/dist/api/operations.js +175 -0
- package/dist/api/operations.js.map +1 -0
- package/dist/api/schema.d.ts +71 -0
- package/dist/api/schema.d.ts.map +1 -0
- package/dist/api/schema.js +107 -0
- package/dist/api/schema.js.map +1 -0
- package/dist/api/v3/index.d.ts.map +1 -1
- package/dist/api/v3/index.js +25 -212
- package/dist/api/v3/index.js.map +1 -1
- package/dist/api/v3/schema.d.ts +30 -74
- package/dist/api/v3/schema.d.ts.map +1 -1
- package/dist/api/v3/schema.js +18 -73
- package/dist/api/v3/schema.js.map +1 -1
- package/dist/api/v4/index.d.ts +8 -0
- package/dist/api/v4/index.d.ts.map +1 -0
- package/dist/api/v4/index.js +155 -0
- package/dist/api/v4/index.js.map +1 -0
- package/dist/api/v4/schema.d.ts +268 -0
- package/dist/api/v4/schema.d.ts.map +1 -0
- package/dist/api/v4/schema.js +182 -0
- package/dist/api/v4/schema.js.map +1 -0
- package/dist/certificate.d.ts +9 -6
- package/dist/certificate.d.ts.map +1 -1
- package/dist/certificate.js +55 -99
- package/dist/certificate.js.map +1 -1
- package/dist/db/index.d.ts +32 -24
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +101 -28
- package/dist/db/index.js.map +1 -1
- package/dist/db/migrations/0002_krl_version.d.ts +3 -0
- package/dist/db/migrations/0002_krl_version.d.ts.map +1 -0
- package/dist/db/migrations/0002_krl_version.js +15 -0
- package/dist/db/migrations/0002_krl_version.js.map +1 -0
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +3 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/types.d.ts +37 -0
- package/dist/db/types.d.ts.map +1 -0
- package/dist/db/types.js +13 -0
- package/dist/db/types.js.map +1 -0
- package/dist/krl.d.ts +9 -1
- package/dist/krl.d.ts.map +1 -1
- package/dist/krl.js +22 -162
- package/dist/krl.js.map +1 -1
- package/dist/proof.d.ts +36 -7
- package/dist/proof.d.ts.map +1 -1
- package/dist/proof.js +53 -21
- package/dist/proof.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +3 -1
- package/dist/router.js.map +1 -1
- package/dist/ssh/certificate.d.ts +93 -0
- package/dist/ssh/certificate.d.ts.map +1 -0
- package/dist/ssh/certificate.js +178 -0
- package/dist/ssh/certificate.js.map +1 -0
- package/dist/ssh/encoding.d.ts +41 -0
- package/dist/ssh/encoding.d.ts.map +1 -0
- package/dist/ssh/encoding.js +70 -0
- package/dist/ssh/encoding.js.map +1 -0
- package/dist/ssh/keys.d.ts +80 -0
- package/dist/ssh/keys.d.ts.map +1 -0
- package/dist/ssh/keys.js +249 -0
- package/dist/ssh/keys.js.map +1 -0
- package/dist/ssh/signer.d.ts +35 -0
- package/dist/ssh/signer.d.ts.map +1 -0
- package/dist/ssh/signer.js +99 -0
- package/dist/ssh/signer.js.map +1 -0
- package/dist/types.d.ts +12 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +40 -21
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +87 -54
- package/dist/utils.js.map +1 -1
- package/openapi.json +1960 -82
- package/package.json +5 -17
- package/src/api/operations.ts +211 -0
- package/src/api/schema.ts +137 -0
- package/src/api/v3/index.ts +32 -259
- package/src/api/v3/schema.ts +34 -96
- package/src/api/v4/index.ts +265 -0
- package/src/api/v4/schema.ts +235 -0
- package/src/certificate.ts +62 -123
- package/src/db/index.ts +113 -49
- package/src/db/migrations/0002_krl_version.ts +16 -0
- package/src/db/migrations/index.ts +3 -1
- package/src/db/types.ts +40 -0
- package/src/krl.ts +32 -194
- package/src/proof.ts +65 -31
- package/src/router.ts +3 -1
- package/src/ssh/certificate.ts +236 -0
- package/src/ssh/encoding.ts +81 -0
- package/src/ssh/keys.ts +294 -0
- package/src/ssh/signer.ts +129 -0
- package/src/types.ts +12 -18
- package/src/utils.ts +99 -69
package/dist/api/v3/index.js
CHANGED
|
@@ -1,41 +1,18 @@
|
|
|
1
1
|
import { group } from "@andrewheberle/ts-slog";
|
|
2
|
-
import {
|
|
2
|
+
import { ForbiddenException, fromHono, OpenAPIRoute, UnauthorizedException, } from "chanfana";
|
|
3
3
|
import { Hono } from "hono";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { CaPublicKeyEndpointSchema, createUserCertificateRequestEndpointSchema, createRevocationListEndpointSchema, createHostCertificateRequestEndpointSchema, createHostCertificateRenewEndpointSchema, createRevokeCertificateEndpointSchema, } from "./schema.js";
|
|
4
|
+
import { createSignedCertificate, createSignedHostCertificate, } from "../../certificate.js";
|
|
5
|
+
import { split } from "../../utils.js";
|
|
6
|
+
import { CertificateType } from "../../db/types.js";
|
|
7
|
+
import { caPublicKey, issueCertificate, revocationList, revoke } from "../operations.js";
|
|
8
|
+
import { CaPublicKeyEndpointSchema, createUserCertificateRequestEndpointSchema, createRevocationListEndpointSchema, createHostCertificateRequestEndpointSchema, createHostCertificateRenewEndpointSchema, createRevokeCertificateEndpointSchema, certificateTypeName, } from "./schema.js";
|
|
10
9
|
import { logger } from "../../logger.js";
|
|
11
|
-
// sshpk is CommonJS and Node's ESM loader cannot detect most of its named exports, so values are taken from the default import
|
|
12
|
-
const { KeyParseError } = sshpk;
|
|
13
10
|
const CaPublicKeyEndpoint = (env) => {
|
|
14
11
|
return class extends OpenAPIRoute {
|
|
15
12
|
schema = CaPublicKeyEndpointSchema;
|
|
16
13
|
async handle(c) {
|
|
17
14
|
const l = logger(env).with(...group("request", "action", "ca"));
|
|
18
|
-
|
|
19
|
-
const pub = await getPublic(c.env);
|
|
20
|
-
return c.text(`${pub.toString("ssh").trim()}\n`);
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
switch (true) {
|
|
24
|
-
case (err instanceof UnsupportedKeyError):
|
|
25
|
-
l.error(err.message);
|
|
26
|
-
throw new InternalServerErrorException(err.message);
|
|
27
|
-
case (err instanceof KeyParseError):
|
|
28
|
-
l.error("error parsing private key");
|
|
29
|
-
throw new InternalServerErrorException("error parsing private key");
|
|
30
|
-
case (err instanceof ApiException):
|
|
31
|
-
// re-throw any exisiting chanfana error
|
|
32
|
-
throw err;
|
|
33
|
-
default:
|
|
34
|
-
// otherwise throw as InternalServerErrorException
|
|
35
|
-
l.error("unhandled error", "error", err);
|
|
36
|
-
throw new InternalServerErrorException("internal server error");
|
|
37
|
-
}
|
|
38
|
-
}
|
|
15
|
+
return await caPublicKey(c, l);
|
|
39
16
|
}
|
|
40
17
|
};
|
|
41
18
|
};
|
|
@@ -54,85 +31,16 @@ const UserCertificateRequestEndpoint = (env) => {
|
|
|
54
31
|
principals: data.body.identity.principals,
|
|
55
32
|
extensions: data.body.extensions,
|
|
56
33
|
};
|
|
57
|
-
|
|
58
|
-
const certificate = await createSignedCertificate(c.env, data.headers.Authorization.email, data.body.public_key, opts);
|
|
59
|
-
const response = {
|
|
60
|
-
certificate: btoa(certificate.toString("openssh"))
|
|
61
|
-
};
|
|
62
|
-
try {
|
|
63
|
-
await recordCertificate(c.env, certificate, data.headers.Authorization.email);
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
// a certificate that is not recorded cannot be revoked, so do not issue it
|
|
67
|
-
l.error("there was a problem adding issued certificate to database", "error", err);
|
|
68
|
-
throw new InternalServerErrorException("there was a problem recording the issued certificate");
|
|
69
|
-
}
|
|
70
|
-
l.info("completed issuing certificate", ...group("certificate", "principals", certificate.subjects.map(v => v.toString()).join(","), "serial", certificate.serial.readBigUInt64BE(0)));
|
|
71
|
-
return c.json(response);
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
switch (true) {
|
|
75
|
-
case (err instanceof UnsupportedKeyError):
|
|
76
|
-
l.error(err.message);
|
|
77
|
-
throw new InternalServerErrorException(err.message);
|
|
78
|
-
case (err instanceof ApiException):
|
|
79
|
-
// re-throw any exisiting chanfana error
|
|
80
|
-
throw err;
|
|
81
|
-
default:
|
|
82
|
-
// otherwise throw as InternalServerErrorException
|
|
83
|
-
l.error("unhandled error", "error", err);
|
|
84
|
-
throw new InternalServerErrorException("internal server error");
|
|
85
|
-
}
|
|
86
|
-
}
|
|
34
|
+
return await issueCertificate(c, l, () => createSignedCertificate(c.env, data.headers.Authorization.email, data.body.public_key, opts), CertificateType.User);
|
|
87
35
|
}
|
|
88
36
|
};
|
|
89
37
|
};
|
|
90
|
-
const RevocationListEndpoint = (env) => {
|
|
38
|
+
const RevocationListEndpoint = (env, certificateType) => {
|
|
91
39
|
return class extends OpenAPIRoute {
|
|
92
|
-
schema = createRevocationListEndpointSchema();
|
|
40
|
+
schema = createRevocationListEndpointSchema(certificateType);
|
|
93
41
|
async handle(c) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
const certificateType = data.params.certificateType === "user" ? CertificateType.User : CertificateType.Host;
|
|
97
|
-
try {
|
|
98
|
-
// get revoked serials
|
|
99
|
-
const serials = (await getRevocationList(c.env, certificateType)).map(v => BigInt(v));
|
|
100
|
-
// grab private key from secret store
|
|
101
|
-
const key = await getPrivateKey(c.env);
|
|
102
|
-
// generate KRL
|
|
103
|
-
const krl = new KRLBuilder(key)
|
|
104
|
-
.addSerials(serials);
|
|
105
|
-
const krlBytes = krl.generate();
|
|
106
|
-
// convert to base64
|
|
107
|
-
const bytes = new Uint8Array(krlBytes);
|
|
108
|
-
let binary = "";
|
|
109
|
-
for (const byte of bytes) {
|
|
110
|
-
binary += String.fromCharCode(byte);
|
|
111
|
-
}
|
|
112
|
-
const base64Krl = btoa(binary);
|
|
113
|
-
const signature = await krl.signature();
|
|
114
|
-
return c.json({
|
|
115
|
-
krl: base64Krl,
|
|
116
|
-
signature: signature,
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
catch (err) {
|
|
120
|
-
switch (true) {
|
|
121
|
-
case (err instanceof UnsupportedKeyError):
|
|
122
|
-
l.error(err.message);
|
|
123
|
-
throw new InternalServerErrorException(err.message);
|
|
124
|
-
case (err instanceof KeyParseError):
|
|
125
|
-
l.error("error parsing private key");
|
|
126
|
-
throw new InternalServerErrorException("error parsing private key");
|
|
127
|
-
case (err instanceof ApiException):
|
|
128
|
-
// re-throw any exisiting chanfana error
|
|
129
|
-
throw err;
|
|
130
|
-
default:
|
|
131
|
-
// otherwise throw as InternalServerErrorException
|
|
132
|
-
l.error("unhandled error", "error", err);
|
|
133
|
-
throw new InternalServerErrorException("internal server error");
|
|
134
|
-
}
|
|
135
|
-
}
|
|
42
|
+
const l = logger(env).with(...group("request", "type", certificateTypeName(certificateType), "action", "krl"));
|
|
43
|
+
return await revocationList(c, l, certificateType);
|
|
136
44
|
}
|
|
137
45
|
};
|
|
138
46
|
};
|
|
@@ -156,36 +64,7 @@ const HostCertificateRequestEndpoint = (env) => {
|
|
|
156
64
|
lifetime: data.body.lifetime,
|
|
157
65
|
principals: data.body.principals,
|
|
158
66
|
};
|
|
159
|
-
|
|
160
|
-
const certificate = await createSignedHostCertificate(c.env, data.body.public_key, opts);
|
|
161
|
-
const response = {
|
|
162
|
-
certificate: btoa(certificate.toString("openssh"))
|
|
163
|
-
};
|
|
164
|
-
try {
|
|
165
|
-
await recordCertificate(c.env, certificate, `host_${certificate.subjects[0].hostname}`, CertificateType.Host);
|
|
166
|
-
}
|
|
167
|
-
catch (err) {
|
|
168
|
-
// a certificate that is not recorded cannot be revoked, so do not issue it
|
|
169
|
-
l.error("there was a problem adding issued certificate to database", "error", err);
|
|
170
|
-
throw new InternalServerErrorException("there was a problem recording the issued certificate");
|
|
171
|
-
}
|
|
172
|
-
l.info("completed issuing certificate", ...group("certificate", "principals", certificate.subjects.map(v => v.toString()).join(","), "serial", certificate.serial.readBigUInt64BE(0)));
|
|
173
|
-
return c.json(response);
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
switch (true) {
|
|
177
|
-
case (err instanceof UnsupportedKeyError):
|
|
178
|
-
l.error(err.message);
|
|
179
|
-
throw new InternalServerErrorException(err.message);
|
|
180
|
-
case (err instanceof ApiException):
|
|
181
|
-
// re-throw any exisiting chanfana error
|
|
182
|
-
throw err;
|
|
183
|
-
default:
|
|
184
|
-
// otherwise throw as InternalServerErrorException
|
|
185
|
-
l.error("unhandled error", "error", err);
|
|
186
|
-
throw new InternalServerErrorException("internal server error");
|
|
187
|
-
}
|
|
188
|
-
}
|
|
67
|
+
return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.public_key, opts), CertificateType.Host);
|
|
189
68
|
}
|
|
190
69
|
};
|
|
191
70
|
};
|
|
@@ -194,96 +73,28 @@ const HostCertificateRenewEndpoint = (env) => {
|
|
|
194
73
|
schema = createHostCertificateRenewEndpointSchema(env);
|
|
195
74
|
async handle(c) {
|
|
196
75
|
const data = await this.getValidatedData();
|
|
197
|
-
const serial = data.body.certificate.serial
|
|
76
|
+
const serial = data.body.certificate.serial;
|
|
198
77
|
const l = logger(env).with(...group("request", "type", "host", "action", "renewal", "serial", serial));
|
|
199
78
|
// use smaller of the current certificate lifetime and the requested lifetime
|
|
200
|
-
const originalLifetime = (data.body.certificate.
|
|
79
|
+
const originalLifetime = (data.body.certificate.validBefore.getTime() - data.body.certificate.validAfter.getTime()) / 1000;
|
|
201
80
|
const lifetime = originalLifetime > data.body.lifetime
|
|
202
81
|
? data.body.lifetime
|
|
203
82
|
: originalLifetime;
|
|
204
83
|
const opts = {
|
|
205
84
|
lifetime: lifetime,
|
|
206
|
-
|
|
85
|
+
principals: data.body.certificate.principals,
|
|
207
86
|
};
|
|
208
|
-
|
|
209
|
-
const certificate = await createSignedHostCertificate(c.env, data.body.public_key, opts);
|
|
210
|
-
const response = {
|
|
211
|
-
certificate: btoa(certificate.toString("openssh"))
|
|
212
|
-
};
|
|
213
|
-
try {
|
|
214
|
-
await recordCertificate(c.env, certificate, `host_${certificate.subjects[0].hostname}`, CertificateType.Host);
|
|
215
|
-
}
|
|
216
|
-
catch (err) {
|
|
217
|
-
// a certificate that is not recorded cannot be revoked, so do not issue it
|
|
218
|
-
l.error("there was a problem adding issued certificate to database", "error", err);
|
|
219
|
-
throw new InternalServerErrorException("there was a problem recording the issued certificate");
|
|
220
|
-
}
|
|
221
|
-
l.info("completed issuing certificate", ...group("certificate", "principals", certificate.subjects.map(v => v.toString()).join(","), "serial", certificate.serial.readBigUInt64BE(0)));
|
|
222
|
-
return c.json(response);
|
|
223
|
-
}
|
|
224
|
-
catch (err) {
|
|
225
|
-
switch (true) {
|
|
226
|
-
case (err instanceof UnsupportedKeyError):
|
|
227
|
-
l.error(err.message);
|
|
228
|
-
throw new InternalServerErrorException(err.message);
|
|
229
|
-
case (err instanceof ApiException):
|
|
230
|
-
// re-throw any exisiting chanfana error
|
|
231
|
-
throw err;
|
|
232
|
-
case (err instanceof BadIssuerError):
|
|
233
|
-
throw new UnprocessableEntityException(err.message);
|
|
234
|
-
default:
|
|
235
|
-
// otherwise throw as InternalServerErrorException
|
|
236
|
-
l.error("unhandled error", "error", err);
|
|
237
|
-
throw new InternalServerErrorException("internal server error");
|
|
238
|
-
}
|
|
239
|
-
}
|
|
87
|
+
return await issueCertificate(c, l, () => createSignedHostCertificate(c.env, data.body.public_key, opts), CertificateType.Host);
|
|
240
88
|
}
|
|
241
89
|
};
|
|
242
90
|
};
|
|
243
|
-
const RevokeCertificateEndpoint = (env) => {
|
|
91
|
+
const RevokeCertificateEndpoint = (env, certificateType) => {
|
|
244
92
|
return class extends OpenAPIRoute {
|
|
245
|
-
schema = createRevokeCertificateEndpointSchema(env);
|
|
93
|
+
schema = createRevokeCertificateEndpointSchema(env, certificateType);
|
|
246
94
|
async handle(c) {
|
|
247
95
|
const data = await this.getValidatedData();
|
|
248
|
-
const l = logger(env).with(...group("request", "type",
|
|
249
|
-
|
|
250
|
-
// ensure certificate can be revoked
|
|
251
|
-
const status = await revocationStatus(c.env, data.body.serial, data.body.public_key.toString("ssh"), certificatetype);
|
|
252
|
-
switch (status) {
|
|
253
|
-
case RevocationStatus.Revoked:
|
|
254
|
-
l.warn("certificate is already revoked");
|
|
255
|
-
throw new ConflictException("certificate is already revoked");
|
|
256
|
-
case RevocationStatus.Unrevokable:
|
|
257
|
-
l.warn("cannot revoke this certificate");
|
|
258
|
-
throw new ForbiddenException("cannot revoke this certificate");
|
|
259
|
-
case RevocationStatus.NotFound:
|
|
260
|
-
l.warn("certificate not found");
|
|
261
|
-
throw new NotFoundException("certificate not found");
|
|
262
|
-
}
|
|
263
|
-
try {
|
|
264
|
-
const res = await revokeCertificate(c.env, data.body.serial);
|
|
265
|
-
if (res.length === 0) {
|
|
266
|
-
throw new InternalServerErrorException("no results were returned for revocation");
|
|
267
|
-
}
|
|
268
|
-
if (res.length > 1) {
|
|
269
|
-
l.warn("more than one revocation result was returned", "count", res.length);
|
|
270
|
-
}
|
|
271
|
-
l.info("completed revocation");
|
|
272
|
-
return c.json({
|
|
273
|
-
revoked_at: res[0].revoked_at
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
catch (err) {
|
|
277
|
-
switch (true) {
|
|
278
|
-
case (err instanceof ApiException):
|
|
279
|
-
// re-throw any exisiting chanfana error
|
|
280
|
-
throw err;
|
|
281
|
-
default:
|
|
282
|
-
// otherwise throw as InternalServerErrorException
|
|
283
|
-
l.error("unhandled error", "error", err);
|
|
284
|
-
throw new InternalServerErrorException("internal server error");
|
|
285
|
-
}
|
|
286
|
-
}
|
|
96
|
+
const l = logger(env).with(...group("request", "type", certificateTypeName(certificateType), "action", "revoke", "serial", data.body.serial));
|
|
97
|
+
return await revoke(c, l, data.body.serial, data.body.public_key, certificateType);
|
|
287
98
|
}
|
|
288
99
|
};
|
|
289
100
|
};
|
|
@@ -291,10 +102,12 @@ export const createApi = (env) => {
|
|
|
291
102
|
const api = fromHono(new Hono());
|
|
292
103
|
api.get("/ca", CaPublicKeyEndpoint(env));
|
|
293
104
|
api.post("/user/certificate", UserCertificateRequestEndpoint(env));
|
|
294
|
-
api.get("
|
|
105
|
+
api.get("/user/krl", RevocationListEndpoint(env, CertificateType.User));
|
|
106
|
+
api.post("/user/revoke", RevokeCertificateEndpoint(env, CertificateType.User));
|
|
295
107
|
api.post("/host/certificate", HostCertificateRequestEndpoint(env));
|
|
296
108
|
api.post("/host/renew", HostCertificateRenewEndpoint(env));
|
|
297
|
-
api.
|
|
109
|
+
api.get("/host/krl", RevocationListEndpoint(env, CertificateType.Host));
|
|
110
|
+
api.post("/host/revoke", RevokeCertificateEndpoint(env, CertificateType.Host));
|
|
298
111
|
return api;
|
|
299
112
|
};
|
|
300
113
|
//# sourceMappingURL=index.js.map
|
package/dist/api/v3/index.js.map
CHANGED
|
@@ -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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"}
|
package/dist/api/v3/schema.d.ts
CHANGED
|
@@ -1,33 +1,9 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
2
|
import type { SshCaBindings } from "../../types.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
principals: string[];
|
|
6
|
-
}, string>>;
|
|
7
|
-
export declare const createAccessTokenSchema: (env: SshCaBindings) => z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
8
|
-
email: string;
|
|
9
|
-
sub: string;
|
|
10
|
-
}, string>>;
|
|
11
|
-
export declare const createHeaderSchema: (env: SshCaBindings) => z.ZodObject<{
|
|
12
|
-
Authorization: z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
13
|
-
email: string;
|
|
14
|
-
sub: string;
|
|
15
|
-
}, string>>;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
export declare const CaPublicKeyEndpointSchema: {
|
|
18
|
-
responses: {
|
|
19
|
-
"200": {
|
|
20
|
-
content: {
|
|
21
|
-
"text/plain": {
|
|
22
|
-
schema: z.ZodString;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
description: string;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
};
|
|
3
|
+
import { CertificateType } from "../../db/types.js";
|
|
4
|
+
export { CaPublicKeyEndpointSchema, certificateTypeName, createAccessTokenSchema, createHeaderSchema, createIdentityTokenSchema, createRevocationListEndpointSchema, } from "../schema.js";
|
|
29
5
|
export declare const userCertificateRequestEndpointBodySchema: (env: SshCaBindings) => z.ZodObject<{
|
|
30
|
-
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("
|
|
6
|
+
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
|
|
31
7
|
proof: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../proof.js").ProofOfPossession, string>>;
|
|
32
8
|
identity: z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
33
9
|
sub: string;
|
|
@@ -37,6 +13,9 @@ export declare const userCertificateRequestEndpointBodySchema: (env: SshCaBindin
|
|
|
37
13
|
lifetime: z.ZodDefault<z.ZodInt>;
|
|
38
14
|
}, z.core.$strip>;
|
|
39
15
|
export declare const createUserCertificateRequestEndpointSchema: (env: SshCaBindings) => {
|
|
16
|
+
tags: ("Host" | "User")[];
|
|
17
|
+
summary: string;
|
|
18
|
+
description: string;
|
|
40
19
|
security: {
|
|
41
20
|
oidcAuth: never[];
|
|
42
21
|
}[];
|
|
@@ -51,7 +30,7 @@ export declare const createUserCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
51
30
|
content: {
|
|
52
31
|
"application/json": {
|
|
53
32
|
schema: z.ZodType<{
|
|
54
|
-
public_key: import("
|
|
33
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
55
34
|
proof: import("../../proof.js").ProofOfPossession;
|
|
56
35
|
identity: {
|
|
57
36
|
sub: string;
|
|
@@ -60,7 +39,7 @@ export declare const createUserCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
60
39
|
extensions: string[];
|
|
61
40
|
lifetime: number;
|
|
62
41
|
}, unknown, z.core.$ZodTypeInternals<{
|
|
63
|
-
public_key: import("
|
|
42
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
64
43
|
proof: import("../../proof.js").ProofOfPossession;
|
|
65
44
|
identity: {
|
|
66
45
|
sub: string;
|
|
@@ -88,34 +67,8 @@ export declare const createUserCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
88
67
|
};
|
|
89
68
|
};
|
|
90
69
|
};
|
|
91
|
-
export declare const createRevocationListEndpointSchema: () => {
|
|
92
|
-
request: {
|
|
93
|
-
params: z.ZodObject<{
|
|
94
|
-
certificateType: z.ZodEnum<{
|
|
95
|
-
host: "host";
|
|
96
|
-
user: "user";
|
|
97
|
-
}>;
|
|
98
|
-
}, z.core.$strip>;
|
|
99
|
-
};
|
|
100
|
-
responses: {
|
|
101
|
-
"200": {
|
|
102
|
-
content: {
|
|
103
|
-
"application/json": {
|
|
104
|
-
schema: z.ZodType<{
|
|
105
|
-
krl: Buffer<ArrayBuffer>;
|
|
106
|
-
signature: string;
|
|
107
|
-
}, unknown, z.core.$ZodTypeInternals<{
|
|
108
|
-
krl: Buffer<ArrayBuffer>;
|
|
109
|
-
signature: string;
|
|
110
|
-
}, unknown>>;
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
description: string;
|
|
114
|
-
};
|
|
115
|
-
};
|
|
116
|
-
};
|
|
117
70
|
export declare const hostCertificateRequestEndpointBodySchema: (env: SshCaBindings) => z.ZodObject<{
|
|
118
|
-
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("
|
|
71
|
+
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
|
|
119
72
|
proof: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../proof.js").ProofOfPossession, string>>;
|
|
120
73
|
identity: z.ZodPipe<z.ZodString, z.ZodTransform<{
|
|
121
74
|
sub: string;
|
|
@@ -125,6 +78,9 @@ export declare const hostCertificateRequestEndpointBodySchema: (env: SshCaBindin
|
|
|
125
78
|
lifetime: z.ZodDefault<z.ZodInt>;
|
|
126
79
|
}, z.core.$strip>;
|
|
127
80
|
export declare const createHostCertificateRequestEndpointSchema: (env: SshCaBindings) => {
|
|
81
|
+
tags: ("Host" | "User")[];
|
|
82
|
+
summary: string;
|
|
83
|
+
description: string;
|
|
128
84
|
security: {
|
|
129
85
|
oidcAuth: never[];
|
|
130
86
|
}[];
|
|
@@ -139,7 +95,7 @@ export declare const createHostCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
139
95
|
content: {
|
|
140
96
|
"application/json": {
|
|
141
97
|
schema: z.ZodType<{
|
|
142
|
-
public_key: import("
|
|
98
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
143
99
|
proof: import("../../proof.js").ProofOfPossession;
|
|
144
100
|
identity: {
|
|
145
101
|
sub: string;
|
|
@@ -148,7 +104,7 @@ export declare const createHostCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
148
104
|
principals: string[];
|
|
149
105
|
lifetime: number;
|
|
150
106
|
}, unknown, z.core.$ZodTypeInternals<{
|
|
151
|
-
public_key: import("
|
|
107
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
152
108
|
proof: import("../../proof.js").ProofOfPossession;
|
|
153
109
|
identity: {
|
|
154
110
|
sub: string;
|
|
@@ -177,24 +133,27 @@ export declare const createHostCertificateRequestEndpointSchema: (env: SshCaBind
|
|
|
177
133
|
};
|
|
178
134
|
};
|
|
179
135
|
export declare const hostCertificateRenewEndpointBodySchema: (env: SshCaBindings) => z.ZodObject<{
|
|
180
|
-
certificate: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("
|
|
181
|
-
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("
|
|
136
|
+
certificate: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../../ssh/certificate.js").SshCertificate, Buffer<ArrayBuffer>>>;
|
|
137
|
+
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
|
|
182
138
|
proof: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../proof.js").RenewalProofOfPossession, string>>;
|
|
183
139
|
lifetime: z.ZodDefault<z.ZodInt>;
|
|
184
140
|
}, z.core.$strip>;
|
|
185
141
|
export declare const createHostCertificateRenewEndpointSchema: (env: SshCaBindings) => {
|
|
142
|
+
tags: ("Host" | "User")[];
|
|
143
|
+
summary: string;
|
|
144
|
+
description: string;
|
|
186
145
|
request: {
|
|
187
146
|
body: {
|
|
188
147
|
content: {
|
|
189
148
|
"application/json": {
|
|
190
149
|
schema: z.ZodType<{
|
|
191
|
-
certificate: import("
|
|
192
|
-
public_key: import("
|
|
150
|
+
certificate: import("../../ssh/certificate.js").SshCertificate;
|
|
151
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
193
152
|
proof: import("../../proof.js").RenewalProofOfPossession;
|
|
194
153
|
lifetime: number;
|
|
195
154
|
}, unknown, z.core.$ZodTypeInternals<{
|
|
196
|
-
certificate: import("
|
|
197
|
-
public_key: import("
|
|
155
|
+
certificate: import("../../ssh/certificate.js").SshCertificate;
|
|
156
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
198
157
|
proof: import("../../proof.js").RenewalProofOfPossession;
|
|
199
158
|
lifetime: number;
|
|
200
159
|
}, unknown>>;
|
|
@@ -219,27 +178,24 @@ export declare const createHostCertificateRenewEndpointSchema: (env: SshCaBindin
|
|
|
219
178
|
};
|
|
220
179
|
export declare const revokeCertificateEndpointBodySchema: (env: SshCaBindings) => z.ZodObject<{
|
|
221
180
|
serial: z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>;
|
|
222
|
-
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("
|
|
181
|
+
public_key: z.ZodPipe<z.ZodPipe<z.ZodBase64, z.ZodTransform<Buffer<ArrayBuffer>, string>>, z.ZodTransform<import("../../ssh/keys.js").PublicKey, Buffer<ArrayBuffer>>>;
|
|
223
182
|
proof: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../proof.js").ProofOfPossession, string>>;
|
|
224
183
|
}, z.core.$strip>;
|
|
225
|
-
export declare const createRevokeCertificateEndpointSchema: (env: SshCaBindings) => {
|
|
184
|
+
export declare const createRevokeCertificateEndpointSchema: (env: SshCaBindings, certificateType: CertificateType) => {
|
|
185
|
+
tags: ("Host" | "User")[];
|
|
186
|
+
summary: string;
|
|
187
|
+
description: string;
|
|
226
188
|
request: {
|
|
227
|
-
params: z.ZodObject<{
|
|
228
|
-
certificateType: z.ZodEnum<{
|
|
229
|
-
host: "host";
|
|
230
|
-
user: "user";
|
|
231
|
-
}>;
|
|
232
|
-
}, z.core.$strip>;
|
|
233
189
|
body: {
|
|
234
190
|
content: {
|
|
235
191
|
"application/json": {
|
|
236
192
|
schema: z.ZodType<{
|
|
237
193
|
serial: bigint;
|
|
238
|
-
public_key: import("
|
|
194
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
239
195
|
proof: import("../../proof.js").ProofOfPossession;
|
|
240
196
|
}, unknown, z.core.$ZodTypeInternals<{
|
|
241
197
|
serial: bigint;
|
|
242
|
-
public_key: import("
|
|
198
|
+
public_key: import("../../ssh/keys.js").PublicKey;
|
|
243
199
|
proof: import("../../proof.js").ProofOfPossession;
|
|
244
200
|
}, unknown>>;
|
|
245
201
|
};
|
|
@@ -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;
|
|
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"}
|