@vercel/cli-auth 0.3.12 → 0.3.14-snapshot-dd15927e8ded
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/credentials-store.d.ts +8 -0
- package/credentials-store.js +39 -3
- package/credentials-store.js.map +1 -1
- package/credentials-store.ts +63 -3
- package/hardware-key.d.ts +51 -0
- package/hardware-key.js +184 -0
- package/hardware-key.js.map +1 -0
- package/hardware-key.ts +227 -0
- package/koffi.d.ts +2 -0
- package/koffi.js +8 -0
- package/koffi.js.map +1 -0
- package/koffi.ts +6 -0
- package/linux-tpm.d.ts +30 -0
- package/linux-tpm.js +313 -0
- package/linux-tpm.js.map +1 -0
- package/linux-tpm.ts +371 -0
- package/package.json +6 -2
- package/secure-enclave.d.ts +18 -0
- package/secure-enclave.js +180 -0
- package/secure-enclave.js.map +1 -0
- package/secure-enclave.ts +304 -0
- package/tpm.d.ts +13 -0
- package/tpm.js +160 -0
- package/tpm.js.map +1 -0
- package/tpm.ts +221 -0
package/credentials-store.d.ts
CHANGED
|
@@ -29,4 +29,12 @@ export declare function persistCliAuthConfig(dir: string, authConfig: Persistabl
|
|
|
29
29
|
export declare function clearCredentials(dir: string, config?: GlobalConfig): void;
|
|
30
30
|
export declare function clearAllCredentials(dir: string): void;
|
|
31
31
|
export declare function clearAllCredentialsStrict(dir: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Read the DPoP login, which has its own file and keyring entry. It's read
|
|
34
|
+
* like `auth.json`, so a login saved in the other store is still found after
|
|
35
|
+
* the storage changes. Returns `null` when there is none.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readDpopCredentials(dir: string, config?: GlobalConfig): Credentials | null;
|
|
38
|
+
export declare function persistDpopCliAuthConfig(dir: string, authConfig: PersistableAuthConfig, config?: GlobalConfig): void | cliConfig.CredentialsStorageLocation;
|
|
39
|
+
export declare function clearDpopCredentialsStrict(dir: string): void;
|
|
32
40
|
export {};
|
package/credentials-store.js
CHANGED
|
@@ -48,6 +48,9 @@ exports.persistCliAuthConfig = persistCliAuthConfig;
|
|
|
48
48
|
exports.clearCredentials = clearCredentials;
|
|
49
49
|
exports.clearAllCredentials = clearAllCredentials;
|
|
50
50
|
exports.clearAllCredentialsStrict = clearAllCredentialsStrict;
|
|
51
|
+
exports.readDpopCredentials = readDpopCredentials;
|
|
52
|
+
exports.persistDpopCliAuthConfig = persistDpopCliAuthConfig;
|
|
53
|
+
exports.clearDpopCredentialsStrict = clearDpopCredentialsStrict;
|
|
51
54
|
const node_crypto_1 = require("node:crypto");
|
|
52
55
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
53
56
|
const cliConfig = __importStar(require("@vercel/cli-config"));
|
|
@@ -319,8 +322,9 @@ function deleteAutoStorageCredentials(configPath, runtimeFlags) {
|
|
|
319
322
|
deleteCredentialsFile(configPath);
|
|
320
323
|
}
|
|
321
324
|
function CredentialsStore(dir, config = {}) {
|
|
322
|
-
|
|
323
|
-
|
|
325
|
+
return credentialsStoreAt(cliConfig.getAuthConfigFilePath(dir), resolveCliAuthConfig(dir, config));
|
|
326
|
+
}
|
|
327
|
+
function credentialsStoreAt(configPath, cliAuthConfig) {
|
|
324
328
|
const tokenStorage = cliAuthConfig.credStorage;
|
|
325
329
|
return {
|
|
326
330
|
configPath,
|
|
@@ -400,7 +404,9 @@ function clearAllCredentials(dir) {
|
|
|
400
404
|
}
|
|
401
405
|
}
|
|
402
406
|
function clearAllCredentialsStrict(dir) {
|
|
403
|
-
|
|
407
|
+
clearCredentialsAtStrict(cliConfig.getAuthConfigFilePath(dir));
|
|
408
|
+
}
|
|
409
|
+
function clearCredentialsAtStrict(configPath) {
|
|
404
410
|
const runtimeFlags = readRuntimeFlags();
|
|
405
411
|
let fileError;
|
|
406
412
|
let keyringError;
|
|
@@ -425,4 +431,34 @@ function clearAllCredentialsStrict(dir) {
|
|
|
425
431
|
throw fileError;
|
|
426
432
|
}
|
|
427
433
|
}
|
|
434
|
+
/**
|
|
435
|
+
* Read the DPoP login, which has its own file and keyring entry. It's read
|
|
436
|
+
* like `auth.json`, so a login saved in the other store is still found after
|
|
437
|
+
* the storage changes. Returns `null` when there is none.
|
|
438
|
+
*/
|
|
439
|
+
function readDpopCredentials(dir, config = {}) {
|
|
440
|
+
try {
|
|
441
|
+
return credentialsStoreAt(cliConfig.getDpopAuthConfigFilePath(dir), resolveCliAuthConfig(dir, config)).get();
|
|
442
|
+
}
|
|
443
|
+
catch (error) {
|
|
444
|
+
if (isENOENTError(error)) {
|
|
445
|
+
return null;
|
|
446
|
+
}
|
|
447
|
+
throw error;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
function persistDpopCliAuthConfig(dir, authConfig, config = {}) {
|
|
451
|
+
if (authConfig.skipWrite) {
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
const persistedAuthConfig = toPersistedAuthConfig(authConfig);
|
|
455
|
+
if (!cliConfig.authConfigHasUsableTokenData(persistedAuthConfig)) {
|
|
456
|
+
clearDpopCredentialsStrict(dir);
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
return credentialsStoreAt(cliConfig.getDpopAuthConfigFilePath(dir), resolveCliAuthConfig(dir, config)).update(persistedAuthConfig);
|
|
460
|
+
}
|
|
461
|
+
function clearDpopCredentialsStrict(dir) {
|
|
462
|
+
clearCredentialsAtStrict(cliConfig.getDpopAuthConfigFilePath(dir));
|
|
463
|
+
}
|
|
428
464
|
//# sourceMappingURL=credentials-store.js.map
|
package/credentials-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["credentials-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["credentials-store.ts"],"names":[],"mappings":"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"}
|
package/credentials-store.ts
CHANGED
|
@@ -451,8 +451,16 @@ function deleteAutoStorageCredentials(
|
|
|
451
451
|
}
|
|
452
452
|
|
|
453
453
|
export function CredentialsStore(dir: string, config: GlobalConfig = {}) {
|
|
454
|
-
|
|
455
|
-
|
|
454
|
+
return credentialsStoreAt(
|
|
455
|
+
cliConfig.getAuthConfigFilePath(dir),
|
|
456
|
+
resolveCliAuthConfig(dir, config)
|
|
457
|
+
);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
function credentialsStoreAt(
|
|
461
|
+
configPath: string,
|
|
462
|
+
cliAuthConfig: ResolvedCliAuthConfig
|
|
463
|
+
) {
|
|
456
464
|
const tokenStorage = cliAuthConfig.credStorage;
|
|
457
465
|
|
|
458
466
|
return {
|
|
@@ -564,7 +572,10 @@ export function clearAllCredentials(dir: string) {
|
|
|
564
572
|
}
|
|
565
573
|
|
|
566
574
|
export function clearAllCredentialsStrict(dir: string) {
|
|
567
|
-
|
|
575
|
+
clearCredentialsAtStrict(cliConfig.getAuthConfigFilePath(dir));
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
function clearCredentialsAtStrict(configPath: string) {
|
|
568
579
|
const runtimeFlags = readRuntimeFlags();
|
|
569
580
|
|
|
570
581
|
let fileError: unknown;
|
|
@@ -592,3 +603,52 @@ export function clearAllCredentialsStrict(dir: string) {
|
|
|
592
603
|
throw fileError;
|
|
593
604
|
}
|
|
594
605
|
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Read the DPoP login, which has its own file and keyring entry. It's read
|
|
609
|
+
* like `auth.json`, so a login saved in the other store is still found after
|
|
610
|
+
* the storage changes. Returns `null` when there is none.
|
|
611
|
+
*/
|
|
612
|
+
export function readDpopCredentials(
|
|
613
|
+
dir: string,
|
|
614
|
+
config: GlobalConfig = {}
|
|
615
|
+
): Credentials | null {
|
|
616
|
+
try {
|
|
617
|
+
return credentialsStoreAt(
|
|
618
|
+
cliConfig.getDpopAuthConfigFilePath(dir),
|
|
619
|
+
resolveCliAuthConfig(dir, config)
|
|
620
|
+
).get();
|
|
621
|
+
} catch (error) {
|
|
622
|
+
if (isENOENTError(error)) {
|
|
623
|
+
return null;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
throw error;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
export function persistDpopCliAuthConfig(
|
|
631
|
+
dir: string,
|
|
632
|
+
authConfig: PersistableAuthConfig,
|
|
633
|
+
config: GlobalConfig = {}
|
|
634
|
+
) {
|
|
635
|
+
if (authConfig.skipWrite) {
|
|
636
|
+
return;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
const persistedAuthConfig = toPersistedAuthConfig(authConfig);
|
|
640
|
+
|
|
641
|
+
if (!cliConfig.authConfigHasUsableTokenData(persistedAuthConfig)) {
|
|
642
|
+
clearDpopCredentialsStrict(dir);
|
|
643
|
+
return;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
return credentialsStoreAt(
|
|
647
|
+
cliConfig.getDpopAuthConfigFilePath(dir),
|
|
648
|
+
resolveCliAuthConfig(dir, config)
|
|
649
|
+
).update(persistedAuthConfig);
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
export function clearDpopCredentialsStrict(dir: string) {
|
|
653
|
+
clearCredentialsAtStrict(cliConfig.getDpopAuthConfigFilePath(dir));
|
|
654
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export { TpmAccessError } from './linux-tpm';
|
|
2
|
+
export { SecureEnclaveLockedError } from './secure-enclave';
|
|
3
|
+
/**
|
|
4
|
+
* How long an unsealed DPoP key is kept in memory, so the chip isn't used
|
|
5
|
+
* for every request. Fixed from when the key was unsealed, not extended by
|
|
6
|
+
* use, which only matters to long-running commands.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DPOP_KEY_CACHE_TTL_MS: number;
|
|
9
|
+
/**
|
|
10
|
+
* A DPoP key's private half (`d`), `sealed` by a key in this device's chip:
|
|
11
|
+
* a Secure Enclave key, in the wrapped form only this Mac's Secure Enclave
|
|
12
|
+
* can use, the name of a key in this PC's TPM, or, on Linux, the public area
|
|
13
|
+
* of a TPM sealed object whose private area is `sealed`.
|
|
14
|
+
*/
|
|
15
|
+
export type HardwareKeyHandle = ({
|
|
16
|
+
secureEnclave: string;
|
|
17
|
+
} | {
|
|
18
|
+
tpm: string;
|
|
19
|
+
} | {
|
|
20
|
+
tpmPublic: string;
|
|
21
|
+
}) & {
|
|
22
|
+
sealed: string;
|
|
23
|
+
};
|
|
24
|
+
export type HardwareKey = HardwareKeyHandle & {
|
|
25
|
+
x: string;
|
|
26
|
+
y: string;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Whether this device may have a security chip `createHardwareKey` can use:
|
|
30
|
+
* every Mac and Windows PC, and a Linux machine whose kernel exposes a TPM.
|
|
31
|
+
*/
|
|
32
|
+
export declare function hasSecurityChip(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Create a P-256 DPoP key sealed by this device's Secure Enclave (macOS) or
|
|
35
|
+
* TPM (Windows, Linux). Throws when there's no such chip, or it can't be
|
|
36
|
+
* used.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createHardwareKey(): HardwareKey;
|
|
39
|
+
/**
|
|
40
|
+
* Sign `data` with ECDSA P-256 and SHA-256 using a hardware-sealed key,
|
|
41
|
+
* unsealing it with the chip unless it was unsealed in the last
|
|
42
|
+
* `DPOP_KEY_CACHE_TTL_MS`. Returns the signature as `r || s` (IEEE P1363), as
|
|
43
|
+
* JWS uses for ES256.
|
|
44
|
+
*/
|
|
45
|
+
export declare function signWithHardwareKey(key: HardwareKey, data: Uint8Array): Buffer;
|
|
46
|
+
/**
|
|
47
|
+
* Delete a hardware key once nothing uses it, forgetting it if it's
|
|
48
|
+
* unsealed. A Secure Enclave key and a Linux sealed object are only what's
|
|
49
|
+
* in the login, so only a Windows TPM key is deleted from the chip.
|
|
50
|
+
*/
|
|
51
|
+
export declare function deleteHardwareKey(key: HardwareKeyHandle): void;
|
package/hardware-key.js
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// DPoP keys protected by this device's security chip: the Secure Enclave on a
|
|
3
|
+
// Mac, the TPM on Windows and Linux. The DPoP key itself is a software key,
|
|
4
|
+
// and the login saves it only sealed by a key that never leaves the chip, so
|
|
5
|
+
// a copy of the login can't be unsealed, or sign, on any other device.
|
|
6
|
+
//
|
|
7
|
+
// Unsealing asks for nothing (no password, Touch ID, or PIN), so it doesn't
|
|
8
|
+
// protect against code running as the user on this device: that code can
|
|
9
|
+
// have the chip unseal the key, the same way the CLI does, and then use it
|
|
10
|
+
// anywhere. Sealing protects a copied login, not a compromised device.
|
|
11
|
+
//
|
|
12
|
+
// Once unsealed, a key is kept in this process's memory for
|
|
13
|
+
// `DPOP_KEY_CACHE_TTL_MS`, so a command uses the chip once, not for every
|
|
14
|
+
// request (a deploy signs one for every file it uploads). Nothing unsealed
|
|
15
|
+
// outlives the command.
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.DPOP_KEY_CACHE_TTL_MS = exports.SecureEnclaveLockedError = exports.TpmAccessError = void 0;
|
|
18
|
+
exports.hasSecurityChip = hasSecurityChip;
|
|
19
|
+
exports.createHardwareKey = createHardwareKey;
|
|
20
|
+
exports.signWithHardwareKey = signWithHardwareKey;
|
|
21
|
+
exports.deleteHardwareKey = deleteHardwareKey;
|
|
22
|
+
const node_crypto_1 = require("node:crypto");
|
|
23
|
+
const secure_enclave_1 = require("./secure-enclave");
|
|
24
|
+
const tpm_1 = require("./tpm");
|
|
25
|
+
const linux_tpm_1 = require("./linux-tpm");
|
|
26
|
+
var linux_tpm_2 = require("./linux-tpm");
|
|
27
|
+
Object.defineProperty(exports, "TpmAccessError", { enumerable: true, get: function () { return linux_tpm_2.TpmAccessError; } });
|
|
28
|
+
var secure_enclave_2 = require("./secure-enclave");
|
|
29
|
+
Object.defineProperty(exports, "SecureEnclaveLockedError", { enumerable: true, get: function () { return secure_enclave_2.SecureEnclaveLockedError; } });
|
|
30
|
+
/**
|
|
31
|
+
* How long an unsealed DPoP key is kept in memory, so the chip isn't used
|
|
32
|
+
* for every request. Fixed from when the key was unsealed, not extended by
|
|
33
|
+
* use, which only matters to long-running commands.
|
|
34
|
+
*/
|
|
35
|
+
exports.DPOP_KEY_CACHE_TTL_MS = 30 * 60 * 1000;
|
|
36
|
+
/**
|
|
37
|
+
* Whether this device may have a security chip `createHardwareKey` can use:
|
|
38
|
+
* every Mac and Windows PC, and a Linux machine whose kernel exposes a TPM.
|
|
39
|
+
*/
|
|
40
|
+
function hasSecurityChip() {
|
|
41
|
+
return (process.platform === 'darwin' ||
|
|
42
|
+
process.platform === 'win32' ||
|
|
43
|
+
(process.platform === 'linux' && (0, linux_tpm_1.hasLinuxTpm)()));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a P-256 DPoP key sealed by this device's Secure Enclave (macOS) or
|
|
47
|
+
* TPM (Windows, Linux). Throws when there's no such chip, or it can't be
|
|
48
|
+
* used.
|
|
49
|
+
*/
|
|
50
|
+
function createHardwareKey() {
|
|
51
|
+
if (process.platform !== 'darwin' &&
|
|
52
|
+
process.platform !== 'win32' &&
|
|
53
|
+
process.platform !== 'linux') {
|
|
54
|
+
throw new Error(`There's no supported security chip on ${process.platform}.`);
|
|
55
|
+
}
|
|
56
|
+
const { privateKey } = (0, node_crypto_1.generateKeyPairSync)('ec', { namedCurve: 'P-256' });
|
|
57
|
+
const { x, y, d } = privateKey.export({ format: 'jwk' });
|
|
58
|
+
if (!x || !y || !d) {
|
|
59
|
+
throw new Error('Failed to export the DPoP key.');
|
|
60
|
+
}
|
|
61
|
+
const secret = Buffer.from(d, 'base64url');
|
|
62
|
+
try {
|
|
63
|
+
if (process.platform === 'darwin') {
|
|
64
|
+
const { wrapped, sealed } = (0, secure_enclave_1.createSecureEnclaveKey)(secret);
|
|
65
|
+
return {
|
|
66
|
+
secureEnclave: wrapped.toString('base64url'),
|
|
67
|
+
sealed: sealed.toString('base64url'),
|
|
68
|
+
x,
|
|
69
|
+
y,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (process.platform === 'linux') {
|
|
73
|
+
const sealed = (0, linux_tpm_1.sealWithLinuxTpm)(secret);
|
|
74
|
+
return {
|
|
75
|
+
tpmPublic: sealed.public.toString('base64url'),
|
|
76
|
+
sealed: sealed.private.toString('base64url'),
|
|
77
|
+
x,
|
|
78
|
+
y,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const name = `vercel-cli-dpop-${(0, node_crypto_1.randomUUID)()}`;
|
|
82
|
+
const sealed = (0, tpm_1.createTpmKey)(name, secret);
|
|
83
|
+
return { tpm: name, sealed: sealed.toString('base64url'), x, y };
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
secret.fill(0);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Sign `data` with ECDSA P-256 and SHA-256 using a hardware-sealed key,
|
|
91
|
+
* unsealing it with the chip unless it was unsealed in the last
|
|
92
|
+
* `DPOP_KEY_CACHE_TTL_MS`. Returns the signature as `r || s` (IEEE P1363), as
|
|
93
|
+
* JWS uses for ES256.
|
|
94
|
+
*/
|
|
95
|
+
function signWithHardwareKey(key, data) {
|
|
96
|
+
return (0, node_crypto_1.sign)('sha256', data, {
|
|
97
|
+
key: unsealed(key),
|
|
98
|
+
dsaEncoding: 'ieee-p1363',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Delete a hardware key once nothing uses it, forgetting it if it's
|
|
103
|
+
* unsealed. A Secure Enclave key and a Linux sealed object are only what's
|
|
104
|
+
* in the login, so only a Windows TPM key is deleted from the chip.
|
|
105
|
+
*/
|
|
106
|
+
function deleteHardwareKey(key) {
|
|
107
|
+
forget(cacheId(key));
|
|
108
|
+
if ('tpm' in key) {
|
|
109
|
+
(0, tpm_1.deleteTpmKey)(key.tpm);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Keys this process unsealed, by `cacheId`.
|
|
113
|
+
const unsealedKeys = new Map();
|
|
114
|
+
function cacheId(key) {
|
|
115
|
+
if ('secureEnclave' in key) {
|
|
116
|
+
return `secureEnclave:${key.secureEnclave}:${key.sealed}`;
|
|
117
|
+
}
|
|
118
|
+
if ('tpmPublic' in key) {
|
|
119
|
+
return `tpmPublic:${key.tpmPublic}:${key.sealed}`;
|
|
120
|
+
}
|
|
121
|
+
return `tpm:${key.tpm}:${key.sealed}`;
|
|
122
|
+
}
|
|
123
|
+
function unsealed(key) {
|
|
124
|
+
const id = cacheId(key);
|
|
125
|
+
const cached = unsealedKeys.get(id);
|
|
126
|
+
if (cached) {
|
|
127
|
+
return cached.key;
|
|
128
|
+
}
|
|
129
|
+
const keyObject = unseal(key);
|
|
130
|
+
// Dropped when its time is up, even if the process is idle, so nothing
|
|
131
|
+
// holds it longer. The timer doesn't keep the process running.
|
|
132
|
+
const timer = setTimeout(() => forget(id), exports.DPOP_KEY_CACHE_TTL_MS);
|
|
133
|
+
timer.unref?.();
|
|
134
|
+
unsealedKeys.set(id, { key: keyObject, timer });
|
|
135
|
+
return keyObject;
|
|
136
|
+
}
|
|
137
|
+
function forget(id) {
|
|
138
|
+
const cached = unsealedKeys.get(id);
|
|
139
|
+
if (cached) {
|
|
140
|
+
clearTimeout(cached.timer);
|
|
141
|
+
unsealedKeys.delete(id);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function unseal(key) {
|
|
145
|
+
const sealed = Buffer.from(key.sealed, 'base64url');
|
|
146
|
+
let secret;
|
|
147
|
+
if ('secureEnclave' in key) {
|
|
148
|
+
secret = (0, secure_enclave_1.unsealWithSecureEnclaveKey)(Buffer.from(key.secureEnclave, 'base64url'), sealed);
|
|
149
|
+
}
|
|
150
|
+
else if ('tpmPublic' in key) {
|
|
151
|
+
secret = (0, linux_tpm_1.unsealWithLinuxTpm)({
|
|
152
|
+
public: Buffer.from(key.tpmPublic, 'base64url'),
|
|
153
|
+
private: sealed,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
secret = (0, tpm_1.unsealWithTpmKey)(key.tpm, sealed);
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
// Not every Node version checks that `d` is the private half of `x` and
|
|
161
|
+
// `y` on import, so derive its public key and compare.
|
|
162
|
+
const ecdh = (0, node_crypto_1.createECDH)('prime256v1');
|
|
163
|
+
ecdh.setPrivateKey(new Uint8Array(secret.buffer, secret.byteOffset, secret.length));
|
|
164
|
+
const point = ecdh.getPublicKey();
|
|
165
|
+
if (point.subarray(1, 33).toString('base64url') !== key.x ||
|
|
166
|
+
point.subarray(33).toString('base64url') !== key.y) {
|
|
167
|
+
throw new Error("The unsealed DPoP key doesn't match its public key.");
|
|
168
|
+
}
|
|
169
|
+
return (0, node_crypto_1.createPrivateKey)({
|
|
170
|
+
key: {
|
|
171
|
+
kty: 'EC',
|
|
172
|
+
crv: 'P-256',
|
|
173
|
+
x: key.x,
|
|
174
|
+
y: key.y,
|
|
175
|
+
d: secret.toString('base64url'),
|
|
176
|
+
},
|
|
177
|
+
format: 'jwk',
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
secret.fill(0);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=hardware-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hardware-key.js","sourceRoot":"","sources":["hardware-key.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,uEAAuE;AACvE,EAAE;AACF,4EAA4E;AAC5E,yEAAyE;AACzE,2EAA2E;AAC3E,uEAAuE;AACvE,EAAE;AACF,4DAA4D;AAC5D,0EAA0E;AAC1E,2EAA2E;AAC3E,wBAAwB;;;AA+CxB,0CAMC;AAOD,8CAyCC;AAQD,kDAQC;AAOD,8CAKC;AA/HD,6CAOqB;AACrB,qDAG0B;AAC1B,+BAAqE;AACrE,2CAAgF;AAEhF,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mDAA4D;AAAnD,0HAAA,wBAAwB,OAAA;AAEjC;;;;GAIG;AACU,QAAA,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAkBpD;;;GAGG;AACH,SAAgB,eAAe;IAC7B,OAAO,CACL,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC7B,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAA,uBAAW,GAAE,CAAC,CAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,IACE,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC7B,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC5B,OAAO,CAAC,QAAQ,KAAK,OAAO,EAC5B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,CAAC,QAAQ,GAAG,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,iCAAmB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;YAC3D,OAAO;gBACL,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACpC,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAA,4BAAgB,EAAC,MAAM,CAAC,CAAC;YACxC,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC9C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC5C,CAAC;gBACD,CAAC;aACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,IAAA,wBAAU,GAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,kBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,GAAgB,EAChB,IAAgB;IAEhB,OAAO,IAAA,kBAAI,EAAC,QAAQ,EAAE,IAAI,EAAE;QAC1B,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;QAClB,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAsB;IACtD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QACjB,IAAA,kBAAY,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;AAEJ,SAAS,OAAO,CAAC,GAAsB;IACrC,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QAC3B,OAAO,iBAAiB,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACvB,OAAO,aAAa,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB;IAChC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,uEAAuE;IACvE,+DAA+D;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,6BAAqB,CAAC,CAAC;IAClE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAChB,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,MAAM,CAAC,EAAU;IACxB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,IAAI,MAAM,EAAE,CAAC;QACX,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAgB;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpD,IAAI,MAAc,CAAC;IACnB,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QAC3B,MAAM,GAAG,IAAA,2CAA0B,EACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,EAC3C,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAA,8BAAkB,EAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC;YAC/C,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAA,sBAAgB,EAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC;QACH,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAChB,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAChE,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IACE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;YACrD,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAA,8BAAgB,EAAC;YACtB,GAAG,EAAE;gBACH,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,OAAO;gBACZ,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;aAChC;YACD,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|