@dxos/credentials 2.17.2 → 2.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/package-deps_build:test.json +5 -5
- package/credentials.build.log +8 -8
- package/dist/src/auth/auth-message.js +2 -2
- package/dist/src/auth/auth-message.js.map +1 -1
- package/dist/src/auth/auth-plugin.js +4 -4
- package/dist/src/auth/auth-plugin.js.map +1 -1
- package/dist/src/auth/auth-plugin.test.js +22 -22
- package/dist/src/auth/auth-plugin.test.js.map +1 -1
- package/dist/src/auth/auth.test.js +47 -47
- package/dist/src/auth/auth.test.js.map +1 -1
- package/dist/src/auth/authenticator.js +5 -5
- package/dist/src/auth/authenticator.js.map +1 -1
- package/dist/src/greet/greeter-plugin.test.js +18 -18
- package/dist/src/greet/greeter-plugin.test.js.map +1 -1
- package/dist/src/greet/greeter.js +13 -13
- package/dist/src/greet/greeter.js.map +1 -1
- package/dist/src/greet/greeter.test.js +36 -36
- package/dist/src/greet/greeter.test.js.map +1 -1
- package/dist/src/greet/greeting-command-plugin.js +15 -15
- package/dist/src/greet/greeting-command-plugin.js.map +1 -1
- package/dist/src/greet/greeting-message.js +8 -8
- package/dist/src/greet/greeting-message.js.map +1 -1
- package/dist/src/greet/invitation.js +9 -9
- package/dist/src/greet/invitation.js.map +1 -1
- package/dist/src/greet/party-invitation-claim-handler.js +6 -6
- package/dist/src/greet/party-invitation-claim-handler.js.map +1 -1
- package/dist/src/identity/identity-message-processor.js +10 -10
- package/dist/src/identity/identity-message-processor.js.map +1 -1
- package/dist/src/identity/identity-message.js +11 -11
- package/dist/src/identity/identity-message.js.map +1 -1
- package/dist/src/identity/seedphrase.test.js +10 -10
- package/dist/src/identity/seedphrase.test.js.map +1 -1
- package/dist/src/keys/filter.js +1 -1
- package/dist/src/keys/filter.js.map +1 -1
- package/dist/src/keys/filter.test.js +5 -5
- package/dist/src/keys/filter.test.js.map +1 -1
- package/dist/src/keys/keyring-helpers.js +16 -16
- package/dist/src/keys/keyring-helpers.js.map +1 -1
- package/dist/src/keys/keyring.d.ts +1 -1
- package/dist/src/keys/keyring.js +64 -64
- package/dist/src/keys/keyring.js.map +1 -1
- package/dist/src/keys/keyring.test.js +65 -65
- package/dist/src/keys/keyring.test.js.map +1 -1
- package/dist/src/keys/keystore.js +10 -10
- package/dist/src/keys/keystore.js.map +1 -1
- package/dist/src/keys/keystore.test.js +14 -14
- package/dist/src/keys/keystore.test.js.map +1 -1
- package/dist/src/keys/simple-metrics.js +4 -4
- package/dist/src/keys/simple-metrics.js.map +1 -1
- package/dist/src/party/party-credential.js +14 -14
- package/dist/src/party/party-credential.js.map +1 -1
- package/dist/src/party/party-invitation-manager.js +5 -5
- package/dist/src/party/party-invitation-manager.js.map +1 -1
- package/dist/src/party/party-invitations.test.js +16 -16
- package/dist/src/party/party-invitations.test.js.map +1 -1
- package/dist/src/party/party-state.js +34 -34
- package/dist/src/party/party-state.js.map +1 -1
- package/dist/src/party/party-state.test.js +94 -94
- package/dist/src/party/party-state.test.js.map +1 -1
- package/dist/src/proto/datetime.js +1 -1
- package/dist/src/proto/datetime.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/auth/auth-plugin.ts +1 -1
- package/src/greet/greeting-command-plugin.ts +1 -1
- package/src/greet/party-invitation-claim-handler.ts +1 -1
- package/src/keys/keyring-helpers.ts +1 -1
- package/src/proto/gen/dxos/credentials/auth.ts +1 -1
- package/src/proto/gen/dxos/credentials/greet.ts +1 -1
- package/src/proto/gen/dxos/credentials/identity.ts +1 -1
- package/src/proto/gen/dxos/credentials/party.ts +1 -1
- package/src/proto/gen/dxos/credentials.ts +1 -1
- package/src/proto/gen/dxos/halo/keys.ts +1 -1
- package/src/proto/gen/google/protobuf.ts +1 -1
|
@@ -33,8 +33,8 @@ exports.isValidPublicKey = isValidPublicKey;
|
|
|
33
33
|
*/
|
|
34
34
|
// TODO(burdon): Move to dxos/crypto.
|
|
35
35
|
function assertValidPublicKey(key) {
|
|
36
|
-
assert_1.default(key);
|
|
37
|
-
assert_1.default(isValidPublicKey(key));
|
|
36
|
+
(0, assert_1.default)(key);
|
|
37
|
+
(0, assert_1.default)(isValidPublicKey(key));
|
|
38
38
|
}
|
|
39
39
|
exports.assertValidPublicKey = assertValidPublicKey;
|
|
40
40
|
/**
|
|
@@ -42,7 +42,7 @@ exports.assertValidPublicKey = assertValidPublicKey;
|
|
|
42
42
|
*/
|
|
43
43
|
// TODO(burdon): Move to dxos/crypto.
|
|
44
44
|
function assertValidSecretKey(key) {
|
|
45
|
-
assert_1.default(key && key.length === 64);
|
|
45
|
+
(0, assert_1.default)(key && key.length === 64);
|
|
46
46
|
}
|
|
47
47
|
exports.assertValidSecretKey = assertValidSecretKey;
|
|
48
48
|
/**
|
|
@@ -59,18 +59,18 @@ exports.assertValidKeyPair = assertValidKeyPair;
|
|
|
59
59
|
* Checks that the KeyRecord contains no secrets (ie, secretKey and seedPhrase).
|
|
60
60
|
*/
|
|
61
61
|
const assertNoSecrets = (keyRecord) => {
|
|
62
|
-
assert_1.default(keyRecord);
|
|
62
|
+
(0, assert_1.default)(keyRecord);
|
|
63
63
|
// TODO(marik-d): Check if booleans are used anywhere.
|
|
64
64
|
// TODO(marik-d): Check if seed phrase is stored in key records.
|
|
65
|
-
assert_1.default(!keyRecord.secretKey || keyRecord.secretKey === true);
|
|
66
|
-
assert_1.default(!keyRecord.seedPhrase || keyRecord.seedPhrase === true);
|
|
65
|
+
(0, assert_1.default)(!keyRecord.secretKey || keyRecord.secretKey === true);
|
|
66
|
+
(0, assert_1.default)(!keyRecord.seedPhrase || keyRecord.seedPhrase === true);
|
|
67
67
|
};
|
|
68
68
|
exports.assertNoSecrets = assertNoSecrets;
|
|
69
69
|
/**
|
|
70
70
|
* Obscures the value of secretKey and seedPhrase with a boolean.
|
|
71
71
|
*/
|
|
72
72
|
const stripSecrets = (keyRecord) => {
|
|
73
|
-
assert_1.default(keyRecord);
|
|
73
|
+
(0, assert_1.default)(keyRecord);
|
|
74
74
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
75
75
|
const { secretKey, seedPhrase, ...stripped } = keyRecord;
|
|
76
76
|
return stripped;
|
|
@@ -85,7 +85,7 @@ const assertValidAttributes = (keyRecord) => {
|
|
|
85
85
|
'type', 'key', 'publicKey', 'secretKey', 'hint', 'own', 'trusted', 'added', 'created'
|
|
86
86
|
];
|
|
87
87
|
Object.keys(keyRecord).forEach(key => {
|
|
88
|
-
assert_1.default(ALLOWED_FIELDS.find(k => k === key));
|
|
88
|
+
(0, assert_1.default)(ALLOWED_FIELDS.find(k => k === key));
|
|
89
89
|
});
|
|
90
90
|
};
|
|
91
91
|
exports.assertValidAttributes = assertValidAttributes;
|
|
@@ -94,17 +94,17 @@ exports.assertValidAttributes = assertValidAttributes;
|
|
|
94
94
|
* @param attributes Valid attributes above.
|
|
95
95
|
* @param keyPair If undefined then a public/private key pair will be generated.
|
|
96
96
|
*/
|
|
97
|
-
const createKeyRecord = (attributes = {}, keyPair = crypto_1.createKeyPair()) => {
|
|
97
|
+
const createKeyRecord = (attributes = {}, keyPair = (0, crypto_1.createKeyPair)()) => {
|
|
98
98
|
const { publicKey: rawPublicKey, secretKey } = keyPair;
|
|
99
99
|
const publicKey = crypto_1.PublicKey.from(rawPublicKey);
|
|
100
100
|
// Disallow invalid attributes.
|
|
101
|
-
exports.assertValidAttributes(attributes);
|
|
101
|
+
(0, exports.assertValidAttributes)(attributes);
|
|
102
102
|
return {
|
|
103
103
|
type: proto_1.KeyType.UNKNOWN,
|
|
104
104
|
hint: false,
|
|
105
105
|
own: !!secretKey,
|
|
106
106
|
trusted: true,
|
|
107
|
-
created: proto_1.createDateTimeString(),
|
|
107
|
+
created: (0, proto_1.createDateTimeString)(),
|
|
108
108
|
// Overrides the defaults above.
|
|
109
109
|
...attributes,
|
|
110
110
|
publicKey,
|
|
@@ -117,7 +117,7 @@ exports.createKeyRecord = createKeyRecord;
|
|
|
117
117
|
*/
|
|
118
118
|
// TODO(burdon): Factor out.
|
|
119
119
|
const canonicalStringify = (obj) => {
|
|
120
|
-
return json_stable_stringify_1.default(obj, {
|
|
120
|
+
return (0, json_stable_stringify_1.default)(obj, {
|
|
121
121
|
/* The point of signing and verifying is not that the internal, private state of the objects be
|
|
122
122
|
* identical, but that the public contents can be verified not to have been altered. For that reason,
|
|
123
123
|
* really private fields (indicated by '__') are not included in the signature. In practice, this skips __type_url,
|
|
@@ -155,15 +155,15 @@ exports.isKeyChain = isKeyChain;
|
|
|
155
155
|
* @return A normalized copy of keyRecord.
|
|
156
156
|
*/
|
|
157
157
|
const checkAndNormalizeKeyRecord = (keyRecord) => {
|
|
158
|
-
assert_1.default(keyRecord);
|
|
159
|
-
exports.assertValidAttributes(keyRecord);
|
|
158
|
+
(0, assert_1.default)(keyRecord);
|
|
159
|
+
(0, exports.assertValidAttributes)(keyRecord);
|
|
160
160
|
const { publicKey, secretKey, ...rest } = keyRecord;
|
|
161
161
|
assertValidPublicKey(publicKey);
|
|
162
162
|
if (secretKey) {
|
|
163
163
|
assertValidSecretKey(secretKey);
|
|
164
164
|
}
|
|
165
|
-
return exports.createKeyRecord({
|
|
166
|
-
added: proto_1.createDateTimeString(),
|
|
165
|
+
return (0, exports.createKeyRecord)({
|
|
166
|
+
added: (0, proto_1.createDateTimeString)(),
|
|
167
167
|
...rest
|
|
168
168
|
}, {
|
|
169
169
|
publicKey: crypto_1.PublicKey.from(publicKey).asBuffer(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring-helpers.js","sourceRoot":"","sources":["../../../src/keys/keyring-helpers.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,EAAE;AACF,oCAAoC;AACpC,EAAE;AAEF,oDAA4B;AAC5B,kFAAoD;AAEpD,yCAAgF;AAEhF,oCAA8E;AAI9E;;GAEG;AACH,qCAAqC;AACrC,SAAgB,gBAAgB,CAAE,GAAkB;IAClD,IAAI;QACF,kBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"keyring-helpers.js","sourceRoot":"","sources":["../../../src/keys/keyring-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,7 +179,7 @@ export declare class Keyring implements Signer {
|
|
|
179
179
|
* Load keys from supplied JSON into the Keyring.
|
|
180
180
|
* @param {string} value
|
|
181
181
|
*/
|
|
182
|
-
loadJSON(value: string): Promise<[
|
|
182
|
+
loadJSON(value: string): Promise<any[]>;
|
|
183
183
|
/**
|
|
184
184
|
* Export the Keyring contents.
|
|
185
185
|
*/
|
package/dist/src/keys/keyring.js
CHANGED
|
@@ -24,9 +24,9 @@ const keyring_helpers_1 = require("./keyring-helpers");
|
|
|
24
24
|
const keystore_1 = require("./keystore");
|
|
25
25
|
const simple_metrics_1 = require("./simple-metrics");
|
|
26
26
|
const metrics = new simple_metrics_1.SimpleMetrics();
|
|
27
|
-
const meter = simple_metrics_1.createMeter(metrics);
|
|
27
|
+
const meter = (0, simple_metrics_1.createMeter)(metrics);
|
|
28
28
|
const cacheMetrics = new simple_metrics_1.SimpleMetrics();
|
|
29
|
-
const cacheMeter = simple_metrics_1.createMeter(cacheMetrics);
|
|
29
|
+
const cacheMeter = (0, simple_metrics_1.createMeter)(cacheMetrics);
|
|
30
30
|
/**
|
|
31
31
|
* A simple helper class for caching signature validation results.
|
|
32
32
|
* Any change to the object will invalidates the cache entry for that object.
|
|
@@ -41,14 +41,14 @@ class SignatureValidationCache {
|
|
|
41
41
|
sigResults = [];
|
|
42
42
|
this._cache.set(obj, sigResults);
|
|
43
43
|
}
|
|
44
|
-
sigResults.push({ valid, sig: Buffer.from(sig), key: crypto_1.PublicKey.from(key), stringy: keyring_helpers_1.canonicalStringify(obj) });
|
|
44
|
+
sigResults.push({ valid, sig: Buffer.from(sig), key: crypto_1.PublicKey.from(key), stringy: (0, keyring_helpers_1.canonicalStringify)(obj) });
|
|
45
45
|
}
|
|
46
46
|
get(obj, sig, key) {
|
|
47
47
|
const sigResults = this._cache.get(obj) || [];
|
|
48
48
|
if (sigResults.length) {
|
|
49
|
-
const stringy = keyring_helpers_1.canonicalStringify(obj);
|
|
49
|
+
const stringy = (0, keyring_helpers_1.canonicalStringify)(obj);
|
|
50
50
|
for (const result of sigResults) {
|
|
51
|
-
if (util_1.arraysEqual(result.sig, sig) && result.key.equals(key) && result.stringy === stringy) {
|
|
51
|
+
if ((0, util_1.arraysEqual)(result.sig, sig) && result.key.equals(key) && result.stringy === stringy) {
|
|
52
52
|
cacheMetrics.inc('HIT');
|
|
53
53
|
return result.valid;
|
|
54
54
|
}
|
|
@@ -75,14 +75,14 @@ class Keyring {
|
|
|
75
75
|
constructor(keystore) {
|
|
76
76
|
this._keyCache = new Map();
|
|
77
77
|
this._findTrustedCache = new Map();
|
|
78
|
-
this._keystore = keystore || new keystore_1.KeyStore(memdown_1.default());
|
|
78
|
+
this._keystore = keystore || new keystore_1.KeyStore((0, memdown_1.default)());
|
|
79
79
|
}
|
|
80
80
|
// TODO(burdon): Relocate static methods.
|
|
81
81
|
static cryptoVerify(message, signature, publicKey) {
|
|
82
|
-
return crypto_1.verify(message, signature, publicKey);
|
|
82
|
+
return (0, crypto_1.verify)(message, signature, publicKey);
|
|
83
83
|
}
|
|
84
84
|
static cryptoSign(message, secretkey) {
|
|
85
|
-
return crypto_1.sign(message, secretkey);
|
|
85
|
+
return (0, crypto_1.sign)(message, secretkey);
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
88
|
* Sign the message with the indicated key or keys. The returned signed object will be of the form:
|
|
@@ -92,9 +92,9 @@ class Keyring {
|
|
|
92
92
|
* }
|
|
93
93
|
*/
|
|
94
94
|
static signMessage(message, keys, keyChainMap, nonce, created) {
|
|
95
|
-
assert_1.default(typeof message === 'object');
|
|
95
|
+
(0, assert_1.default)(typeof message === 'object');
|
|
96
96
|
for (const key of keys) {
|
|
97
|
-
keyring_helpers_1.assertValidKeyPair(key);
|
|
97
|
+
(0, keyring_helpers_1.assertValidKeyPair)(key);
|
|
98
98
|
}
|
|
99
99
|
if (!keyChainMap) {
|
|
100
100
|
keyChainMap = new Map();
|
|
@@ -104,18 +104,18 @@ class Keyring {
|
|
|
104
104
|
message = { message };
|
|
105
105
|
}
|
|
106
106
|
// Check every key passed is suitable for signing.
|
|
107
|
-
keys.forEach(keyRecord => keyring_helpers_1.assertValidKeyPair(keyRecord));
|
|
107
|
+
keys.forEach(keyRecord => (0, keyring_helpers_1.assertValidKeyPair)(keyRecord));
|
|
108
108
|
const signed = {
|
|
109
|
-
created: created || proto_1.createDateTimeString(),
|
|
110
|
-
nonce: nonce || crypto_1.randomBytes(32),
|
|
109
|
+
created: created || (0, proto_1.createDateTimeString)(),
|
|
110
|
+
nonce: nonce || (0, crypto_1.randomBytes)(32),
|
|
111
111
|
payload: message
|
|
112
112
|
};
|
|
113
113
|
// Sign with each key, adding to the signatures list.
|
|
114
114
|
const signatures = [];
|
|
115
|
-
const buffer = Buffer.from(keyring_helpers_1.canonicalStringify(signed));
|
|
115
|
+
const buffer = Buffer.from((0, keyring_helpers_1.canonicalStringify)(signed));
|
|
116
116
|
keys.forEach(({ publicKey, secretKey }) => {
|
|
117
117
|
// TODO(burdon): Already tested above?
|
|
118
|
-
keyring_helpers_1.assertValidSecretKey(secretKey);
|
|
118
|
+
(0, keyring_helpers_1.assertValidSecretKey)(secretKey);
|
|
119
119
|
signatures.push({
|
|
120
120
|
signature: this.cryptoSign(buffer, Buffer.from(secretKey)),
|
|
121
121
|
key: publicKey,
|
|
@@ -139,8 +139,8 @@ class Keyring {
|
|
|
139
139
|
static buildKeyChain(publicKey, signedMessageMap, exclude = []) {
|
|
140
140
|
publicKey = crypto_1.PublicKey.from(publicKey);
|
|
141
141
|
const wrappedMessage = signedMessageMap.get(publicKey.toHex());
|
|
142
|
-
assert_1.default(wrappedMessage, 'No such message.');
|
|
143
|
-
const message = party_1.unwrapMessage(wrappedMessage);
|
|
142
|
+
(0, assert_1.default)(wrappedMessage, 'No such message.');
|
|
143
|
+
const message = (0, party_1.unwrapMessage)(wrappedMessage);
|
|
144
144
|
if (!message) {
|
|
145
145
|
throw Error('No such message.');
|
|
146
146
|
}
|
|
@@ -174,7 +174,7 @@ class Keyring {
|
|
|
174
174
|
*/
|
|
175
175
|
static signingKeys(message, { deep = true, validate = true } = {}) {
|
|
176
176
|
const all = new Set();
|
|
177
|
-
if (party_1.isSignedMessage(message)) {
|
|
177
|
+
if ((0, party_1.isSignedMessage)(message)) {
|
|
178
178
|
const { signed, signatures = [] } = message;
|
|
179
179
|
for (const signature of signatures) {
|
|
180
180
|
if (!validate || Keyring.validateSignature(signed, signature.signature, signature.key.asBuffer())) {
|
|
@@ -200,8 +200,8 @@ class Keyring {
|
|
|
200
200
|
* This does not check that the keys are trusted, only that the signatures are valid.
|
|
201
201
|
*/
|
|
202
202
|
static validateSignatures(message) {
|
|
203
|
-
const unwrapped = party_1.unwrapMessage(message);
|
|
204
|
-
assert_1.default(Array.isArray(unwrapped.signatures));
|
|
203
|
+
const unwrapped = (0, party_1.unwrapMessage)(message);
|
|
204
|
+
(0, assert_1.default)(Array.isArray(unwrapped.signatures));
|
|
205
205
|
const { signed, signatures } = unwrapped;
|
|
206
206
|
for (const sig of signatures) {
|
|
207
207
|
if (!Keyring.validateSignature(signed, sig.signature, sig.key)) {
|
|
@@ -215,11 +215,11 @@ class Keyring {
|
|
|
215
215
|
* This does not check that the key is trusted, only that the signature is valid.
|
|
216
216
|
*/
|
|
217
217
|
static validateSignature(message, signature, key) {
|
|
218
|
-
keyring_helpers_1.assertValidPublicKey(key);
|
|
219
|
-
assert_1.default(typeof message === 'object');
|
|
218
|
+
(0, keyring_helpers_1.assertValidPublicKey)(key);
|
|
219
|
+
(0, assert_1.default)(typeof message === 'object');
|
|
220
220
|
let result = this._signatureValidationCache.get(message, signature, key);
|
|
221
221
|
if (result === undefined) {
|
|
222
|
-
const stringy = keyring_helpers_1.canonicalStringify(message);
|
|
222
|
+
const stringy = (0, keyring_helpers_1.canonicalStringify)(message);
|
|
223
223
|
result = Keyring.cryptoVerify(Buffer.from(stringy), Buffer.from(signature), crypto_1.PublicKey.from(key).asBuffer());
|
|
224
224
|
this._signatureValidationCache.set(message, signature, key, result);
|
|
225
225
|
}
|
|
@@ -270,7 +270,7 @@ class Keyring {
|
|
|
270
270
|
* @returns A copy of the KeyRecord, without secrets.
|
|
271
271
|
*/
|
|
272
272
|
async addKeyRecord(keyRecord) {
|
|
273
|
-
keyring_helpers_1.assertValidKeyPair(keyRecord);
|
|
273
|
+
(0, keyring_helpers_1.assertValidKeyPair)(keyRecord);
|
|
274
274
|
return this._addKeyRecord(keyRecord);
|
|
275
275
|
}
|
|
276
276
|
/**
|
|
@@ -279,8 +279,8 @@ class Keyring {
|
|
|
279
279
|
* @returns {KeyRecord} A copy of the KeyRecord.
|
|
280
280
|
*/
|
|
281
281
|
async addPublicKey(keyRecord) {
|
|
282
|
-
keyring_helpers_1.assertValidPublicKey(keyRecord.publicKey);
|
|
283
|
-
keyring_helpers_1.assertNoSecrets(keyRecord);
|
|
282
|
+
(0, keyring_helpers_1.assertValidPublicKey)(keyRecord.publicKey);
|
|
283
|
+
(0, keyring_helpers_1.assertNoSecrets)(keyRecord);
|
|
284
284
|
return this._addKeyRecord(keyRecord);
|
|
285
285
|
}
|
|
286
286
|
/**
|
|
@@ -292,7 +292,7 @@ class Keyring {
|
|
|
292
292
|
* @private
|
|
293
293
|
*/
|
|
294
294
|
async _addKeyRecord(keyRecord, overwrite = false) {
|
|
295
|
-
const copy = keyring_helpers_1.checkAndNormalizeKeyRecord(keyRecord);
|
|
295
|
+
const copy = (0, keyring_helpers_1.checkAndNormalizeKeyRecord)(keyRecord);
|
|
296
296
|
if (!overwrite) {
|
|
297
297
|
if (this.hasKey(copy.publicKey)) {
|
|
298
298
|
throw Error('Refusing to overwrite existing key.');
|
|
@@ -300,7 +300,7 @@ class Keyring {
|
|
|
300
300
|
}
|
|
301
301
|
await this._keystore.setRecord(copy.publicKey.toHex(), copy);
|
|
302
302
|
this._keyCache.set(copy.publicKey.toHex(), copy);
|
|
303
|
-
return keyring_helpers_1.stripSecrets(copy);
|
|
303
|
+
return (0, keyring_helpers_1.stripSecrets)(copy);
|
|
304
304
|
}
|
|
305
305
|
/**
|
|
306
306
|
* Adds a temporary KeyRecord to the keyring. The key is not stored to the KeyStore.
|
|
@@ -311,14 +311,14 @@ class Keyring {
|
|
|
311
311
|
* @private
|
|
312
312
|
*/
|
|
313
313
|
_addTempKeyRecord(keyRecord, overwrite = false) {
|
|
314
|
-
const copy = keyring_helpers_1.checkAndNormalizeKeyRecord(keyRecord);
|
|
314
|
+
const copy = (0, keyring_helpers_1.checkAndNormalizeKeyRecord)(keyRecord);
|
|
315
315
|
if (!overwrite) {
|
|
316
316
|
if (this.hasKey(copy.publicKey)) {
|
|
317
317
|
throw Error('Refusing to overwrite existing key.');
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
320
|
this._keyCache.set(copy.publicKey.toHex(), copy);
|
|
321
|
-
return keyring_helpers_1.stripSecrets(copy);
|
|
321
|
+
return (0, keyring_helpers_1.stripSecrets)(copy);
|
|
322
322
|
}
|
|
323
323
|
/**
|
|
324
324
|
* Adds or updates a KeyRecord. The KeyRecord must contain a publicKey and it may contain a secretKey.
|
|
@@ -327,10 +327,10 @@ class Keyring {
|
|
|
327
327
|
* @returns {KeyRecord} A copy of the KeyRecord, without secrets.
|
|
328
328
|
*/
|
|
329
329
|
async updateKey(keyRecord) {
|
|
330
|
-
assert_1.default(keyRecord);
|
|
331
|
-
keyring_helpers_1.assertValidPublicKey(keyRecord.publicKey);
|
|
330
|
+
(0, assert_1.default)(keyRecord);
|
|
331
|
+
(0, keyring_helpers_1.assertValidPublicKey)(keyRecord.publicKey);
|
|
332
332
|
// Do not allow updating/changing secrets.
|
|
333
|
-
const cleaned = keyring_helpers_1.stripSecrets(keyRecord);
|
|
333
|
+
const cleaned = (0, keyring_helpers_1.stripSecrets)(keyRecord);
|
|
334
334
|
const existing = this.getFullKey(cleaned.publicKey);
|
|
335
335
|
const updated = { ...existing, ...cleaned };
|
|
336
336
|
// There is one special case, which is not to move from a more specific to a less specific key type.
|
|
@@ -345,11 +345,11 @@ class Keyring {
|
|
|
345
345
|
* @returns {Promise<void>}
|
|
346
346
|
*/
|
|
347
347
|
async deleteSecretKey(keyRecord) {
|
|
348
|
-
assert_1.default(keyRecord);
|
|
349
|
-
keyring_helpers_1.assertValidPublicKey(keyRecord.publicKey);
|
|
348
|
+
(0, assert_1.default)(keyRecord);
|
|
349
|
+
(0, keyring_helpers_1.assertValidPublicKey)(keyRecord.publicKey);
|
|
350
350
|
const existing = this.getFullKey(keyRecord.publicKey);
|
|
351
351
|
if (existing) {
|
|
352
|
-
const cleaned = keyring_helpers_1.stripSecrets(existing);
|
|
352
|
+
const cleaned = (0, keyring_helpers_1.stripSecrets)(existing);
|
|
353
353
|
await this._keystore.setRecord(cleaned.publicKey.toHex(), cleaned);
|
|
354
354
|
this._keyCache.set(cleaned.publicKey.toHex(), cleaned);
|
|
355
355
|
}
|
|
@@ -360,9 +360,9 @@ class Keyring {
|
|
|
360
360
|
* @returns {boolean}
|
|
361
361
|
*/
|
|
362
362
|
hasSecretKey(keyRecord) {
|
|
363
|
-
assert_1.default(keyRecord);
|
|
363
|
+
(0, assert_1.default)(keyRecord);
|
|
364
364
|
const { publicKey } = keyRecord;
|
|
365
|
-
keyring_helpers_1.assertValidPublicKey(publicKey);
|
|
365
|
+
(0, keyring_helpers_1.assertValidPublicKey)(publicKey);
|
|
366
366
|
const existing = this.getFullKey(publicKey);
|
|
367
367
|
return existing && Buffer.isBuffer(existing.secretKey);
|
|
368
368
|
}
|
|
@@ -370,7 +370,7 @@ class Keyring {
|
|
|
370
370
|
* Is the publicKey in the keyring?
|
|
371
371
|
*/
|
|
372
372
|
hasKey(publicKey) {
|
|
373
|
-
keyring_helpers_1.assertValidPublicKey(publicKey);
|
|
373
|
+
(0, keyring_helpers_1.assertValidPublicKey)(publicKey);
|
|
374
374
|
return !!this.getKey(publicKey);
|
|
375
375
|
}
|
|
376
376
|
/**
|
|
@@ -378,14 +378,14 @@ class Keyring {
|
|
|
378
378
|
*/
|
|
379
379
|
isTrusted(publicKey) {
|
|
380
380
|
var _a, _b;
|
|
381
|
-
keyring_helpers_1.assertValidPublicKey(publicKey);
|
|
381
|
+
(0, keyring_helpers_1.assertValidPublicKey)(publicKey);
|
|
382
382
|
return (_b = (_a = this.getKey(publicKey)) === null || _a === void 0 ? void 0 : _a.trusted) !== null && _b !== void 0 ? _b : false;
|
|
383
383
|
}
|
|
384
384
|
/**
|
|
385
385
|
* Return the keyRecord from the keyring, if present.
|
|
386
386
|
*/
|
|
387
387
|
getFullKey(publicKey) {
|
|
388
|
-
keyring_helpers_1.assertValidPublicKey(publicKey);
|
|
388
|
+
(0, keyring_helpers_1.assertValidPublicKey)(publicKey);
|
|
389
389
|
publicKey = crypto_1.PublicKey.from(publicKey);
|
|
390
390
|
return this._findFullKey(filter_1.Filter.hasKey('publicKey', publicKey));
|
|
391
391
|
}
|
|
@@ -396,9 +396,9 @@ class Keyring {
|
|
|
396
396
|
* @returns KeyRecord, without secretKey
|
|
397
397
|
*/
|
|
398
398
|
getKey(publicKey) {
|
|
399
|
-
keyring_helpers_1.assertValidPublicKey(publicKey);
|
|
399
|
+
(0, keyring_helpers_1.assertValidPublicKey)(publicKey);
|
|
400
400
|
const key = this.getFullKey(publicKey);
|
|
401
|
-
return key ? keyring_helpers_1.stripSecrets(key) : undefined;
|
|
401
|
+
return key ? (0, keyring_helpers_1.stripSecrets)(key) : undefined;
|
|
402
402
|
}
|
|
403
403
|
/**
|
|
404
404
|
* Find all keys matching the indicated criteria: 'key', 'type', 'own', etc.
|
|
@@ -432,7 +432,7 @@ class Keyring {
|
|
|
432
432
|
*/
|
|
433
433
|
findKey(...filters) {
|
|
434
434
|
const key = this._findFullKey(...filters);
|
|
435
|
-
return key ? keyring_helpers_1.stripSecrets(key) : undefined;
|
|
435
|
+
return key ? (0, keyring_helpers_1.stripSecrets)(key) : undefined;
|
|
436
436
|
}
|
|
437
437
|
/**
|
|
438
438
|
* Serialize the Keyring contents to JSON.
|
|
@@ -448,7 +448,7 @@ class Keyring {
|
|
|
448
448
|
}
|
|
449
449
|
return copy;
|
|
450
450
|
});
|
|
451
|
-
return keyring_helpers_1.canonicalStringify({
|
|
451
|
+
return (0, keyring_helpers_1.canonicalStringify)({
|
|
452
452
|
__type_url: 'dxos.credentials.keys.KeyRecordList',
|
|
453
453
|
keys
|
|
454
454
|
});
|
|
@@ -464,7 +464,7 @@ class Keyring {
|
|
|
464
464
|
item.publicKey = crypto_1.PublicKey.from(item.publicKey);
|
|
465
465
|
}
|
|
466
466
|
if (item.secretKey) {
|
|
467
|
-
item.secretKey = crypto_1.keyToBuffer(item.secretKey);
|
|
467
|
+
item.secretKey = (0, crypto_1.keyToBuffer)(item.secretKey);
|
|
468
468
|
}
|
|
469
469
|
if (item.secretKey) {
|
|
470
470
|
return this.addKeyRecord(item);
|
|
@@ -502,10 +502,10 @@ class Keyring {
|
|
|
502
502
|
* @return {Promise<KeyRecord>} New KeyRecord, without secretKey
|
|
503
503
|
*/
|
|
504
504
|
async createKeyRecord(attributes = {}) {
|
|
505
|
-
assert_1.default(arguments.length <= 1);
|
|
506
|
-
const keyRecord = keyring_helpers_1.createKeyRecord(attributes);
|
|
505
|
+
(0, assert_1.default)(arguments.length <= 1);
|
|
506
|
+
const keyRecord = (0, keyring_helpers_1.createKeyRecord)(attributes);
|
|
507
507
|
await this.addKeyRecord(keyRecord);
|
|
508
|
-
return keyring_helpers_1.stripSecrets(keyRecord);
|
|
508
|
+
return (0, keyring_helpers_1.stripSecrets)(keyRecord);
|
|
509
509
|
}
|
|
510
510
|
/**
|
|
511
511
|
* Sign the message with the indicated key or keys. The returned signed object will be of the form:
|
|
@@ -515,17 +515,17 @@ class Keyring {
|
|
|
515
515
|
* }
|
|
516
516
|
*/
|
|
517
517
|
sign(message, keys, nonce, created) {
|
|
518
|
-
assert_1.default(typeof message === 'object');
|
|
519
|
-
assert_1.default(keys);
|
|
520
|
-
assert_1.default(Array.isArray(keys));
|
|
518
|
+
(0, assert_1.default)(typeof message === 'object');
|
|
519
|
+
(0, assert_1.default)(keys);
|
|
520
|
+
(0, assert_1.default)(Array.isArray(keys));
|
|
521
521
|
const chains = new Map();
|
|
522
522
|
const fullKeys = [];
|
|
523
523
|
keys.forEach((key) => {
|
|
524
524
|
const fullKey = this.getFullKey(key instanceof crypto_1.PublicKey ? key : key.publicKey);
|
|
525
|
-
assert_1.default(fullKey);
|
|
526
|
-
keyring_helpers_1.assertValidKeyPair(fullKey);
|
|
525
|
+
(0, assert_1.default)(fullKey);
|
|
526
|
+
(0, keyring_helpers_1.assertValidKeyPair)(fullKey);
|
|
527
527
|
fullKeys.push(fullKey);
|
|
528
|
-
if (keyring_helpers_1.isKeyChain(key)) {
|
|
528
|
+
if ((0, keyring_helpers_1.isKeyChain)(key)) {
|
|
529
529
|
chains.set(fullKey.publicKey.toHex(), key);
|
|
530
530
|
}
|
|
531
531
|
});
|
|
@@ -536,12 +536,12 @@ class Keyring {
|
|
|
536
536
|
* KeyChains are not supported.
|
|
537
537
|
*/
|
|
538
538
|
rawSign(data, keyRecord) {
|
|
539
|
-
assert_1.default(Buffer.isBuffer(data), 'Data to sign is not a buffer.');
|
|
540
|
-
assert_1.default(keyRecord);
|
|
541
|
-
keyring_helpers_1.assertValidPublicKey(keyRecord.publicKey);
|
|
542
|
-
keyring_helpers_1.assertNoSecrets(keyRecord);
|
|
539
|
+
(0, assert_1.default)(Buffer.isBuffer(data), 'Data to sign is not a buffer.');
|
|
540
|
+
(0, assert_1.default)(keyRecord);
|
|
541
|
+
(0, keyring_helpers_1.assertValidPublicKey)(keyRecord.publicKey);
|
|
542
|
+
(0, keyring_helpers_1.assertNoSecrets)(keyRecord);
|
|
543
543
|
const fullKey = this.getFullKey(keyRecord.publicKey);
|
|
544
|
-
keyring_helpers_1.assertValidKeyPair(fullKey);
|
|
544
|
+
(0, keyring_helpers_1.assertValidKeyPair)(fullKey);
|
|
545
545
|
return Keyring.cryptoSign(data, fullKey.secretKey);
|
|
546
546
|
}
|
|
547
547
|
/**
|
|
@@ -553,9 +553,9 @@ class Keyring {
|
|
|
553
553
|
* @returns {boolean}
|
|
554
554
|
*/
|
|
555
555
|
verify(message, { requireAllKeysBeTrusted = false, allowKeyChains = true } = {}) {
|
|
556
|
-
assert_1.default(typeof message === 'object');
|
|
557
|
-
assert_1.default(message.signed);
|
|
558
|
-
assert_1.default(Array.isArray(message.signatures));
|
|
556
|
+
(0, assert_1.default)(typeof message === 'object');
|
|
557
|
+
(0, assert_1.default)(message.signed);
|
|
558
|
+
(0, assert_1.default)(Array.isArray(message.signatures));
|
|
559
559
|
if (!Keyring.validateSignatures(message)) {
|
|
560
560
|
return false;
|
|
561
561
|
}
|
|
@@ -633,7 +633,7 @@ class Keyring {
|
|
|
633
633
|
// TODO(telackey): Filter by those keys actually in the hierarchy.
|
|
634
634
|
for (const key of Keyring.signingKeys(message)) {
|
|
635
635
|
if (!tmpKeys.hasKey(key)) {
|
|
636
|
-
const tmpKey = keyring_helpers_1.createKeyRecord({}, { publicKey: key.asBuffer() });
|
|
636
|
+
const tmpKey = (0, keyring_helpers_1.createKeyRecord)({}, { publicKey: key.asBuffer() });
|
|
637
637
|
tmpKeys._addTempKeyRecord(tmpKey);
|
|
638
638
|
}
|
|
639
639
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../../src/keys/keyring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyring.js","sourceRoot":"","sources":["../../../src/keys/keyring.ts"],"names":[],"mappings":"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"}
|