@dxos/credentials 2.17.0 → 2.17.4
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 +10 -10
- 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 +11 -11
- 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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"packages/halo/credentials/README.md": "b6859b1e271596aa5934d07b6d4320721c43b035",
|
|
4
|
-
"packages/halo/credentials/package.json": "
|
|
4
|
+
"packages/halo/credentials/package.json": "b99c3bb395b118f5fa2d270022b92bfcf5110499",
|
|
5
5
|
"packages/halo/credentials/src/auth/auth-message.ts": "c90d8b73215d20b59f922f97b52973dec69c0f40",
|
|
6
6
|
"packages/halo/credentials/src/auth/auth-plugin.test.ts": "8137ba367cb7c957b0a807e073f9135cb43cb7a5",
|
|
7
|
-
"packages/halo/credentials/src/auth/auth-plugin.ts": "
|
|
7
|
+
"packages/halo/credentials/src/auth/auth-plugin.ts": "bd396849819fafc210bc093f0c6afa07e9fe782b",
|
|
8
8
|
"packages/halo/credentials/src/auth/auth.test.js": "7fb1b0559205f55ad92c3e5e3d55f0f37bf5d2f2",
|
|
9
9
|
"packages/halo/credentials/src/auth/authenticator.ts": "fb21df5d13bb9c751d7c00b07ff255a572d8b5e8",
|
|
10
10
|
"packages/halo/credentials/src/auth/error-codes.ts": "6949e70399430cc44a5cc7d4a24ee7cace599ffe",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"packages/halo/credentials/src/greet/greeter-plugin.test.ts": "6fbec01c2d14070948931a26e4a9089e250df682",
|
|
15
15
|
"packages/halo/credentials/src/greet/greeter.test.js": "ac939d04171092eee41a596d4ce15cbc13a1046b",
|
|
16
16
|
"packages/halo/credentials/src/greet/greeter.ts": "67581c7678d6e89caba4a8ae4388a1e8d9489bf7",
|
|
17
|
-
"packages/halo/credentials/src/greet/greeting-command-plugin.ts": "
|
|
17
|
+
"packages/halo/credentials/src/greet/greeting-command-plugin.ts": "5e25ed861b7e47f92bce306127852812db4c5964",
|
|
18
18
|
"packages/halo/credentials/src/greet/greeting-message.ts": "17fc5100458a56aee74a40012bf753ad1d04ff09",
|
|
19
19
|
"packages/halo/credentials/src/greet/index.ts": "27c8d16082512564760dd56a7e0a33bbb47143e7",
|
|
20
20
|
"packages/halo/credentials/src/greet/invitation.ts": "dab95c70482bba53c6292068bfd73306efcf0e64",
|
|
21
|
-
"packages/halo/credentials/src/greet/party-invitation-claim-handler.ts": "
|
|
21
|
+
"packages/halo/credentials/src/greet/party-invitation-claim-handler.ts": "b1a7dbb74b3041fa64f418a6694dc48af63d7cf7",
|
|
22
22
|
"packages/halo/credentials/src/greet/passcode.ts": "8e1dbcc8bf471b9e71a4928b32cd8f78262d748a",
|
|
23
23
|
"packages/halo/credentials/src/identity/events.ts": "e246b3c0d36466d5bcd376f715debdcd625546c5",
|
|
24
24
|
"packages/halo/credentials/src/identity/identity-message-processor.ts": "905368fc571dc4d9b89e2efabc2b719c10cc0bc1",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"packages/halo/credentials/src/keys/filter.test.js": "882ae21a88b4065471616ac08cb10ec537a38bde",
|
|
31
31
|
"packages/halo/credentials/src/keys/filter.ts": "272319fa9f9b10757267c862cbd87d7b2bf4d6a2",
|
|
32
32
|
"packages/halo/credentials/src/keys/index.ts": "0319187cd75685b856deb44d887e9af389e91fa9",
|
|
33
|
-
"packages/halo/credentials/src/keys/keyring-helpers.ts": "
|
|
33
|
+
"packages/halo/credentials/src/keys/keyring-helpers.ts": "5e80afe6e1283feaf7f35f88bc72d0aa9c52c476",
|
|
34
34
|
"packages/halo/credentials/src/keys/keyring.test.ts": "c3178aeb6b68b0d3d3039c3b18bf4ce44adf5849",
|
|
35
35
|
"packages/halo/credentials/src/keys/keyring.ts": "da138f623f4b4b19787ef8916e4328975049de91",
|
|
36
36
|
"packages/halo/credentials/src/keys/keystore.test.js": "c810fd1c1db191122dafbbf4f7d0acce12cb8065",
|
package/credentials.build.log
CHANGED
|
@@ -17,10 +17,10 @@ Loaded 3 substitutions:
|
|
|
17
17
|
dxos.halo.keys.PubKey -> import("/home/github/_work/protocols/protocols/packages/common/crypto/dist/src/public-key").PublicKey
|
|
18
18
|
dxos.halo.keys.PrivKey -> Buffer
|
|
19
19
|
|
|
20
|
-
OK in
|
|
20
|
+
OK in 4320 ms
|
|
21
21
|
|
|
22
22
|
typescript
|
|
23
|
-
OK in
|
|
23
|
+
OK in 5677 ms
|
|
24
24
|
|
|
25
25
|
eslint
|
|
26
26
|
|
|
@@ -29,14 +29,14 @@ eslint
|
|
|
29
29
|
|
|
30
30
|
✖ 1 problem (0 errors, 1 warning)
|
|
31
31
|
|
|
32
|
-
OK in
|
|
32
|
+
OK in 9068 ms
|
|
33
33
|
|
|
34
34
|
mocha
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
✓ Auth Plugin (GOOD) (
|
|
38
|
-
✓ Auth & Repl (GOOD) (
|
|
39
|
-
✓ Chain of Keys
|
|
37
|
+
✓ Auth Plugin (GOOD) (144ms)
|
|
38
|
+
✓ Auth & Repl (GOOD) (217ms)
|
|
39
|
+
✓ Chain of Keys (51ms)
|
|
40
40
|
✓ PartyAuthenticator - good direct
|
|
41
41
|
✓ PartyAuthenticator - good chain
|
|
42
42
|
✓ PartyAuthenticator - bad chain
|
|
@@ -48,7 +48,7 @@ mocha
|
|
|
48
48
|
✓ PartyAuthenticator - signature too old
|
|
49
49
|
✓ PartyAuthenticator - signature too far in future
|
|
50
50
|
✓ PartyAuthenticator - signature date invalid
|
|
51
|
-
✓ Greeting Flow using GreetingCommandPlugin
|
|
51
|
+
✓ Greeting Flow using GreetingCommandPlugin (47ms)
|
|
52
52
|
✓ Good invitation
|
|
53
53
|
✓ Bad invitation secret
|
|
54
54
|
✓ Attempt to re-use invitation
|
|
@@ -95,8 +95,8 @@ mocha
|
|
|
95
95
|
✓ Reject tampered admit feed message
|
|
96
96
|
✓ Reject tampered admit key message
|
|
97
97
|
|
|
98
|
-
60 passing (
|
|
98
|
+
60 passing (900ms)
|
|
99
99
|
|
|
100
|
-
OK in
|
|
100
|
+
OK in 5065 ms
|
|
101
101
|
|
|
102
|
-
CHECK COMPLETE in
|
|
102
|
+
CHECK COMPLETE in 24156 ms
|
|
@@ -14,7 +14,7 @@ const party_1 = require("../party");
|
|
|
14
14
|
* Create `dxos.credentials.auth.Auth` credentials.
|
|
15
15
|
*/
|
|
16
16
|
const createAuthMessage = (signer, partyKey, identityKey, deviceKey, feedKey, nonce) => {
|
|
17
|
-
assert_1.default(signer);
|
|
17
|
+
(0, assert_1.default)(signer);
|
|
18
18
|
partyKey = crypto_1.PublicKey.from(partyKey);
|
|
19
19
|
const signingKeys = [deviceKey];
|
|
20
20
|
if (feedKey) {
|
|
@@ -27,7 +27,7 @@ const createAuthMessage = (signer, partyKey, identityKey, deviceKey, feedKey, no
|
|
|
27
27
|
deviceKey: deviceKey.publicKey,
|
|
28
28
|
feedKey: feedKey === null || feedKey === void 0 ? void 0 : feedKey.publicKey
|
|
29
29
|
};
|
|
30
|
-
return party_1.wrapMessage(signer.sign(authMessage, signingKeys, nonce));
|
|
30
|
+
return (0, party_1.wrapMessage)(signer.sign(authMessage, signingKeys, nonce));
|
|
31
31
|
};
|
|
32
32
|
exports.createAuthMessage = createAuthMessage;
|
|
33
33
|
//# sourceMappingURL=auth-message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-message.js","sourceRoot":"","sources":["../../../src/auth/auth-message.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAE5B,yCAAwD;AAGxD,oCAAuC;AAGvC;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAC/B,MAAc,EACd,QAAuB,EACvB,WAAsB,EACtB,SAA+B,EAC/B,OAAmB,EACnB,KAAc,EACQ,EAAE;IACxB,gBAAM,
|
|
1
|
+
{"version":3,"file":"auth-message.js","sourceRoot":"","sources":["../../../src/auth/auth-message.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAE5B,yCAAwD;AAGxD,oCAAuC;AAGvC;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAC/B,MAAc,EACd,QAAuB,EACvB,WAAsB,EACtB,SAA+B,EAC/B,OAAmB,EACnB,KAAc,EACQ,EAAE;IACxB,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;IAEf,QAAQ,GAAG,kBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,OAAO,EAAE;QACX,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,MAAM,WAAW,GAAsB;QACrC,UAAU,EAAE,4BAA4B;QACxC,QAAQ;QACR,WAAW,EAAE,WAAW,CAAC,SAAS;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;KAC5B,CAAC;IAEF,OAAO,IAAA,mBAAW,EAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AA1BW,QAAA,iBAAiB,qBA0B5B"}
|
|
@@ -13,7 +13,7 @@ const events_1 = require("events");
|
|
|
13
13
|
const protocol_1 = require("@dxos/protocol");
|
|
14
14
|
const proto_1 = require("../proto");
|
|
15
15
|
const error_codes_1 = require("./error-codes");
|
|
16
|
-
const log = debug_1.default('dxos:creds:auth');
|
|
16
|
+
const log = (0, debug_1.default)('dxos:creds:auth');
|
|
17
17
|
const EXTENSION_NAME = 'dxos.credentials.auth';
|
|
18
18
|
/**
|
|
19
19
|
* A Protocol extension to require nodes to be authenticated during handshake before being allowed to replicate.
|
|
@@ -28,8 +28,8 @@ class AuthPlugin extends events_1.EventEmitter {
|
|
|
28
28
|
super();
|
|
29
29
|
this._peerId = _peerId;
|
|
30
30
|
this._authenticator = _authenticator;
|
|
31
|
-
assert_1.default(Buffer.isBuffer(_peerId));
|
|
32
|
-
assert_1.default(_authenticator);
|
|
31
|
+
(0, assert_1.default)(Buffer.isBuffer(_peerId));
|
|
32
|
+
(0, assert_1.default)(_authenticator);
|
|
33
33
|
// TODO(burdon): Not used.
|
|
34
34
|
this._requiredForExtensions = new Set(requireAuthForExtensions);
|
|
35
35
|
}
|
|
@@ -57,7 +57,7 @@ class AuthPlugin extends events_1.EventEmitter {
|
|
|
57
57
|
// TODO(telackey): Supply further background/detail and correct anything incorrect above.
|
|
58
58
|
async _onHandshake(protocol /* code , context */) {
|
|
59
59
|
var _a;
|
|
60
|
-
assert_1.default(protocol);
|
|
60
|
+
(0, assert_1.default)(protocol);
|
|
61
61
|
// Obtain the credentials from the session.
|
|
62
62
|
// At this point credentials is protobuf encoded and base64-encoded.
|
|
63
63
|
// Note `protocol.session.credentials` is our data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-plugin.js","sourceRoot":"","sources":["../../../src/auth/auth-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAC1B,mCAAsC;AAEtC,6CAAoF;AAEpF,oCAAiC;AAEjC,+CAAoE;AAEpE,MAAM,GAAG,GAAG,eAAK,
|
|
1
|
+
{"version":3,"file":"auth-plugin.js","sourceRoot":"","sources":["../../../src/auth/auth-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const proto_1 = require("../proto");
|
|
|
24
24
|
const auth_message_1 = require("./auth-message");
|
|
25
25
|
const auth_plugin_1 = require("./auth-plugin");
|
|
26
26
|
const authenticator_1 = require("./authenticator");
|
|
27
|
-
const log = debug_1.default('dxos:creds:auth:test');
|
|
27
|
+
const log = (0, debug_1.default)('dxos:creds:auth:test');
|
|
28
28
|
const createTestKeyring = async () => {
|
|
29
29
|
const keyring = new keys_1.Keyring();
|
|
30
30
|
await keyring.load();
|
|
@@ -64,15 +64,15 @@ const createProtocol = async (partyKey, authenticator, keyring, protocolOptions)
|
|
|
64
64
|
const identityKey = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
65
65
|
const deviceKey = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
66
66
|
const peerId = deviceKey.publicKey.asBuffer();
|
|
67
|
-
const feedStore = new feed_store_1.FeedStore(random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM), { valueEncoding: 'utf8' });
|
|
68
|
-
const { publicKey, secretKey } = crypto_1.createKeyPair();
|
|
67
|
+
const feedStore = new feed_store_1.FeedStore((0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.STORAGE_RAM), { valueEncoding: 'utf8' });
|
|
68
|
+
const { publicKey, secretKey } = (0, crypto_1.createKeyPair)();
|
|
69
69
|
const { feed } = await feedStore.openReadWriteFeed(crypto_1.PublicKey.from(publicKey), secretKey);
|
|
70
|
-
const append = pify_1.default(feed.append.bind(feed));
|
|
71
|
-
const credentials = Buffer.from(proto_1.codec.encode(proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKey, deviceKey)))).toString('base64');
|
|
70
|
+
const append = (0, pify_1.default)(feed.append.bind(feed));
|
|
71
|
+
const credentials = Buffer.from(proto_1.codec.encode((0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKey, deviceKey)))).toString('base64');
|
|
72
72
|
const auth = new auth_plugin_1.AuthPlugin(peerId, authenticator, [protocol_plugin_replicator_1.Replicator.extension]);
|
|
73
73
|
const authPromise = new Promise((resolve) => {
|
|
74
74
|
auth.on('authenticated', (incomingPeerId) => {
|
|
75
|
-
log(`Authenticated ${crypto_1.keyToString(incomingPeerId)} on ${crypto_1.keyToString(peerId)}`);
|
|
75
|
+
log(`Authenticated ${(0, crypto_1.keyToString)(incomingPeerId)} on ${(0, crypto_1.keyToString)(peerId)}`);
|
|
76
76
|
resolve(true);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
@@ -89,7 +89,7 @@ const createProtocol = async (partyKey, authenticator, keyring, protocolOptions)
|
|
|
89
89
|
replicate: async (feeds) => {
|
|
90
90
|
const replicatedFeeds = [];
|
|
91
91
|
for (const feed of feeds) {
|
|
92
|
-
assert_1.default(feed.key);
|
|
92
|
+
(0, assert_1.default)(feed.key);
|
|
93
93
|
const descriptor = await feedStore.openReadOnlyFeed(crypto_1.PublicKey.from(feed.key));
|
|
94
94
|
replicatedFeeds.push(descriptor.feed);
|
|
95
95
|
}
|
|
@@ -99,7 +99,7 @@ const createProtocol = async (partyKey, authenticator, keyring, protocolOptions)
|
|
|
99
99
|
const proto = new protocol_1.Protocol({
|
|
100
100
|
streamOptions: { live: true },
|
|
101
101
|
discoveryKey: partyKey.asBuffer(),
|
|
102
|
-
userSession: { peerId: crypto_1.keyToString(peerId), credentials },
|
|
102
|
+
userSession: { peerId: (0, crypto_1.keyToString)(peerId), credentials },
|
|
103
103
|
initiator: !!(protocolOptions === null || protocolOptions === void 0 ? void 0 : protocolOptions.initiator)
|
|
104
104
|
})
|
|
105
105
|
.setExtension(auth.createExtension())
|
|
@@ -111,18 +111,18 @@ const createProtocol = async (partyKey, authenticator, keyring, protocolOptions)
|
|
|
111
111
|
* Pipe two Protocol objects together.
|
|
112
112
|
*/
|
|
113
113
|
const connect = (source, target) => {
|
|
114
|
-
return pump_1.default(source.stream, target.stream, source.stream);
|
|
114
|
+
return (0, pump_1.default)(source.stream, target.stream, source.stream);
|
|
115
115
|
};
|
|
116
116
|
async function getMessages(sender, receiver) {
|
|
117
117
|
const { feed } = await receiver.feedStore.openReadOnlyFeed(crypto_1.PublicKey.from(sender.feed.key));
|
|
118
|
-
assert_1.default(feed, 'Nodes not connected');
|
|
118
|
+
(0, assert_1.default)(feed, 'Nodes not connected');
|
|
119
119
|
const messages = [];
|
|
120
|
-
const stream = feed_store_1.createBatchStream(feed);
|
|
120
|
+
const stream = (0, feed_store_1.createBatchStream)(feed);
|
|
121
121
|
stream.on('data', (data) => {
|
|
122
122
|
messages.push(data[0].data);
|
|
123
123
|
});
|
|
124
124
|
return new Promise((resolve, reject) => {
|
|
125
|
-
end_of_stream_1.default(stream, (err) => {
|
|
125
|
+
(0, end_of_stream_1.default)(stream, (err) => {
|
|
126
126
|
if (err) {
|
|
127
127
|
reject(err);
|
|
128
128
|
}
|
|
@@ -134,7 +134,7 @@ async function getMessages(sender, receiver) {
|
|
|
134
134
|
}
|
|
135
135
|
it('Auth Plugin (GOOD)', async () => {
|
|
136
136
|
const keyring = await createTestKeyring();
|
|
137
|
-
const partyKey = crypto_1.PublicKey.from(crypto_1.randomBytes(32));
|
|
137
|
+
const partyKey = crypto_1.PublicKey.from((0, crypto_1.randomBytes)(32));
|
|
138
138
|
const node1 = await createProtocol(partyKey, new ExpectedKeyAuthenticator(keyring, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE })).publicKey), keyring, { initiator: true });
|
|
139
139
|
const node2 = await createProtocol(partyKey, new ExpectedKeyAuthenticator(keyring, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE })).publicKey), keyring, { initiator: false });
|
|
140
140
|
const connection = connect(node1.proto, node2.proto);
|
|
@@ -144,25 +144,25 @@ it('Auth Plugin (GOOD)', async () => {
|
|
|
144
144
|
});
|
|
145
145
|
it('Auth & Repl (GOOD)', async () => {
|
|
146
146
|
const keyring = await createTestKeyring();
|
|
147
|
-
const partyKey = crypto_1.PublicKey.from(crypto_1.randomBytes(32));
|
|
147
|
+
const partyKey = crypto_1.PublicKey.from((0, crypto_1.randomBytes)(32));
|
|
148
148
|
const node2 = await createProtocol(partyKey, new ExpectedKeyAuthenticator(keyring, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE })).publicKey), keyring, { initiator: true });
|
|
149
149
|
const node1 = await createProtocol(partyKey, new ExpectedKeyAuthenticator(keyring, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE })).publicKey), keyring, { initiator: false });
|
|
150
150
|
const connection = connect(node1.proto, node2.proto);
|
|
151
151
|
await node1.authPromise;
|
|
152
152
|
await node2.authPromise;
|
|
153
|
-
const message1 = crypto_1.randomBytes(32).toString('hex');
|
|
153
|
+
const message1 = (0, crypto_1.randomBytes)(32).toString('hex');
|
|
154
154
|
await node1.append(message1);
|
|
155
|
-
await wait_for_expect_1.default(async () => {
|
|
155
|
+
await (0, wait_for_expect_1.default)(async () => {
|
|
156
156
|
const msgs = await getMessages(node1, node2);
|
|
157
|
-
expect_1.default(msgs).toContain(message1);
|
|
158
|
-
log(`${message1} on ${crypto_1.keyToString(node2.id)}.`);
|
|
157
|
+
(0, expect_1.default)(msgs).toContain(message1);
|
|
158
|
+
log(`${message1} on ${(0, crypto_1.keyToString)(node2.id)}.`);
|
|
159
159
|
});
|
|
160
|
-
const message2 = crypto_1.randomBytes(32).toString('hex');
|
|
160
|
+
const message2 = (0, crypto_1.randomBytes)(32).toString('hex');
|
|
161
161
|
await node2.append(message2);
|
|
162
|
-
await wait_for_expect_1.default(async () => {
|
|
162
|
+
await (0, wait_for_expect_1.default)(async () => {
|
|
163
163
|
const msgs = await getMessages(node2, node1);
|
|
164
|
-
expect_1.default(msgs).toContain(message2);
|
|
165
|
-
log(`${message2} on ${crypto_1.keyToString(node1.id)}.`);
|
|
164
|
+
(0, expect_1.default)(msgs).toContain(message2);
|
|
165
|
+
log(`${message2} on ${(0, crypto_1.keyToString)(node1.id)}.`);
|
|
166
166
|
});
|
|
167
167
|
connection.destroy();
|
|
168
168
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-plugin.test.js","sourceRoot":"","sources":["../../../src/auth/auth-plugin.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,wBAAwB;AAExB,oDAA4B;AAC5B,kDAA0B;AAC1B,kEAAgC;AAChC,oDAA4B;AAC5B,gDAAwB;AACxB,gDAAwB;AACxB,sEAA4C;AAE5C,yCAAkF;AAClF,iDAA+E;AAC/E,6CAA2D;AAC3D,iFAA8D;AAC9D,mFAA+E;AAE/E,kCAAkC;AAClC,oCAAqD;AACrD,iDAAmD;AACnD,+CAA2C;AAC3C,mDAAgD;AAEhD,MAAM,GAAG,GAAG,eAAK,
|
|
1
|
+
{"version":3,"file":"auth-plugin.test.js","sourceRoot":"","sources":["../../../src/auth/auth-plugin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ const proto_1 = require("../proto");
|
|
|
17
17
|
const auth_message_1 = require("./auth-message");
|
|
18
18
|
const authenticator_1 = require("./authenticator");
|
|
19
19
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
20
|
-
const log = debug_1.default('dxos:creds:auth:test');
|
|
20
|
+
const log = (0, debug_1.default)('dxos:creds:auth:test');
|
|
21
21
|
const createPartyKeyrings = async () => {
|
|
22
22
|
// This Keyring has the full key pairs, which is the case when creating a new Party.
|
|
23
23
|
const keyring = new keys_1.Keyring();
|
|
@@ -62,7 +62,7 @@ const chainToString = (chain, depth = 0) => {
|
|
|
62
62
|
const messageMap = (messages) => {
|
|
63
63
|
const map = new Map();
|
|
64
64
|
for (const message of messages) {
|
|
65
|
-
const admits = party_1.admitsKeys(message);
|
|
65
|
+
const admits = (0, party_1.admitsKeys)(message);
|
|
66
66
|
for (const key of admits) {
|
|
67
67
|
map.set(key.toHex(), message);
|
|
68
68
|
}
|
|
@@ -82,13 +82,13 @@ it('Chain of Keys', async () => {
|
|
|
82
82
|
const feedKeyA = await haloKeyring.createKeyRecord({ type: proto_1.KeyType.FEED });
|
|
83
83
|
const messages = new Map();
|
|
84
84
|
// The first message in the chain in always a PartyGenesis for the Halo.
|
|
85
|
-
messages.set(identityKey.publicKey.toHex(), party_1.createPartyGenesisMessage(haloKeyring, identityKey, feedKeyA.publicKey, deviceKeyA));
|
|
85
|
+
messages.set(identityKey.publicKey.toHex(), (0, party_1.createPartyGenesisMessage)(haloKeyring, identityKey, feedKeyA.publicKey, deviceKeyA));
|
|
86
86
|
messages.set(deviceKeyA.publicKey.toHex(), messages.get(identityKey.publicKey.toHex()));
|
|
87
87
|
messages.set(feedKeyA.publicKey.toHex(), messages.get(identityKey.publicKey.toHex()));
|
|
88
88
|
// Next is DeviceB greeted by DeviceA.
|
|
89
|
-
messages.set(deviceKeyB.publicKey.toHex(), party_1.createEnvelopeMessage(haloKeyring, identityKey.publicKey, party_1.createKeyAdmitMessage(haloKeyring, identityKey.publicKey, deviceKeyB, [deviceKeyB]), [deviceKeyA]));
|
|
89
|
+
messages.set(deviceKeyB.publicKey.toHex(), (0, party_1.createEnvelopeMessage)(haloKeyring, identityKey.publicKey, (0, party_1.createKeyAdmitMessage)(haloKeyring, identityKey.publicKey, deviceKeyB, [deviceKeyB]), [deviceKeyA]));
|
|
90
90
|
// Next is DeviceC greeted by DeviceB.
|
|
91
|
-
messages.set(deviceKeyC.publicKey.toHex(), party_1.createEnvelopeMessage(haloKeyring, identityKey.publicKey, party_1.createKeyAdmitMessage(haloKeyring, identityKey.publicKey, deviceKeyC, [deviceKeyC]), [deviceKeyB]));
|
|
91
|
+
messages.set(deviceKeyC.publicKey.toHex(), (0, party_1.createEnvelopeMessage)(haloKeyring, identityKey.publicKey, (0, party_1.createKeyAdmitMessage)(haloKeyring, identityKey.publicKey, deviceKeyC, [deviceKeyC]), [deviceKeyB]));
|
|
92
92
|
const targetKeyring = new keys_1.Keyring();
|
|
93
93
|
await targetKeyring.addPublicKey({
|
|
94
94
|
publicKey: identityKey.publicKey,
|
|
@@ -100,11 +100,11 @@ it('Chain of Keys', async () => {
|
|
|
100
100
|
const emptyKeyring = new keys_1.Keyring();
|
|
101
101
|
const chain = keys_1.Keyring.buildKeyChain(deviceKey.publicKey, messages);
|
|
102
102
|
// In the target keyring, which only has the Identity, it should chase all the way back to the Identity.
|
|
103
|
-
expect_1.default(identityKey.publicKey).toEqual((await targetKeyring.findTrusted(chain)).publicKey);
|
|
103
|
+
(0, expect_1.default)(identityKey.publicKey).toEqual((await targetKeyring.findTrusted(chain)).publicKey);
|
|
104
104
|
// And in the halo, which has all the keys, it should chase straight back to this key.
|
|
105
|
-
expect_1.default(deviceKey.publicKey).toEqual((await haloKeyring.findTrusted(chain)).publicKey);
|
|
105
|
+
(0, expect_1.default)(deviceKey.publicKey).toEqual((await haloKeyring.findTrusted(chain)).publicKey);
|
|
106
106
|
// And in an empty Keyring, we should not get anything.
|
|
107
|
-
expect_1.default(await emptyKeyring.findTrusted(chain)).toBeUndefined();
|
|
107
|
+
(0, expect_1.default)(await emptyKeyring.findTrusted(chain)).toBeUndefined();
|
|
108
108
|
}
|
|
109
109
|
});
|
|
110
110
|
it('PartyAuthenticator - good direct', async () => {
|
|
@@ -113,13 +113,13 @@ it('PartyAuthenticator - good direct', async () => {
|
|
|
113
113
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
114
114
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
115
115
|
const messages = [
|
|
116
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
116
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
117
117
|
];
|
|
118
118
|
// Only add the Identity to the party keyring.
|
|
119
119
|
await party.processMessages(messages);
|
|
120
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
120
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
121
121
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
122
|
-
expect_1.default(ok).toBe(true);
|
|
122
|
+
(0, expect_1.default)(ok).toBe(true);
|
|
123
123
|
});
|
|
124
124
|
it('PartyAuthenticator - good chain', async () => {
|
|
125
125
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -129,17 +129,17 @@ it('PartyAuthenticator - good chain', async () => {
|
|
|
129
129
|
const deviceKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
130
130
|
const secondDeviceKeyRecord = await keyring.createKeyRecord({ type: proto_1.KeyType.DEVICE });
|
|
131
131
|
const messages = [
|
|
132
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
132
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
133
133
|
];
|
|
134
134
|
// Only add the Identity to the party keyring.
|
|
135
135
|
await party.processMessages(messages);
|
|
136
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKeyRecord, getIdentityKeyChainForDevice(keyring, secondDeviceKeyRecord.publicKey, messageMap([
|
|
136
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKeyRecord, getIdentityKeyChainForDevice(keyring, secondDeviceKeyRecord.publicKey, messageMap([
|
|
137
137
|
...messages,
|
|
138
|
-
party_1.createKeyAdmitMessage(keyring, partyKey, deviceKeyRecord, [identityKeyRecord]),
|
|
139
|
-
party_1.createKeyAdmitMessage(keyring, partyKey, secondDeviceKeyRecord, [deviceKeyRecord])
|
|
138
|
+
(0, party_1.createKeyAdmitMessage)(keyring, partyKey, deviceKeyRecord, [identityKeyRecord]),
|
|
139
|
+
(0, party_1.createKeyAdmitMessage)(keyring, partyKey, secondDeviceKeyRecord, [deviceKeyRecord])
|
|
140
140
|
]))));
|
|
141
141
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
142
|
-
expect_1.default(ok).toBe(true);
|
|
142
|
+
(0, expect_1.default)(ok).toBe(true);
|
|
143
143
|
});
|
|
144
144
|
it('PartyAuthenticator - bad chain', async () => {
|
|
145
145
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -149,19 +149,19 @@ it('PartyAuthenticator - bad chain', async () => {
|
|
|
149
149
|
const deviceKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
150
150
|
const secondDeviceKeyRecord = await keyring.createKeyRecord({ type: proto_1.KeyType.DEVICE });
|
|
151
151
|
const messages = [
|
|
152
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
152
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
153
153
|
];
|
|
154
154
|
// Only add the Identity to the party keyring.
|
|
155
155
|
await party.processMessages(messages);
|
|
156
156
|
// A bad chain, it doesn't track back to the Identity.
|
|
157
157
|
const chain = getIdentityKeyChainForDevice(keyring, secondDeviceKeyRecord.publicKey, messageMap([
|
|
158
158
|
...messages,
|
|
159
|
-
party_1.createKeyAdmitMessage(keyring, partyKey, deviceKeyRecord, [deviceKeyRecord]),
|
|
160
|
-
party_1.createKeyAdmitMessage(keyring, partyKey, secondDeviceKeyRecord, [deviceKeyRecord])
|
|
159
|
+
(0, party_1.createKeyAdmitMessage)(keyring, partyKey, deviceKeyRecord, [deviceKeyRecord]),
|
|
160
|
+
(0, party_1.createKeyAdmitMessage)(keyring, partyKey, secondDeviceKeyRecord, [deviceKeyRecord])
|
|
161
161
|
]));
|
|
162
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKeyRecord, chain));
|
|
162
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKeyRecord, chain));
|
|
163
163
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
164
|
-
expect_1.default(ok).toBe(false);
|
|
164
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
165
165
|
});
|
|
166
166
|
// TODO(dboreham): This test isn't discriminating errors because when I broke the code entirely it still passed.
|
|
167
167
|
it('PartyAuthenticator - wrong key', async () => {
|
|
@@ -170,12 +170,12 @@ it('PartyAuthenticator - wrong key', async () => {
|
|
|
170
170
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
171
171
|
const wrongKey = await keyring.createKeyRecord();
|
|
172
172
|
const messages = [
|
|
173
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })))
|
|
173
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })))
|
|
174
174
|
];
|
|
175
175
|
await party.processMessages(messages);
|
|
176
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })), wrongKey));
|
|
176
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })), wrongKey));
|
|
177
177
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
178
|
-
expect_1.default(ok).toBe(false);
|
|
178
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
179
179
|
});
|
|
180
180
|
it('PartyAuthenticator - wrong party', async () => {
|
|
181
181
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -183,12 +183,12 @@ it('PartyAuthenticator - wrong party', async () => {
|
|
|
183
183
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
184
184
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
185
185
|
const messages = [
|
|
186
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
186
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
187
187
|
];
|
|
188
188
|
await party.processMessages(messages);
|
|
189
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, crypto_1.randomBytes(32), identityKeyRecord, identityKeyRecord));
|
|
189
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, (0, crypto_1.randomBytes)(32), identityKeyRecord, identityKeyRecord));
|
|
190
190
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
191
|
-
expect_1.default(ok).toBe(false);
|
|
191
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
192
192
|
});
|
|
193
193
|
it('PartyAuthenticator - missing deviceKey', async () => {
|
|
194
194
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -196,7 +196,7 @@ it('PartyAuthenticator - missing deviceKey', async () => {
|
|
|
196
196
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
197
197
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
198
198
|
const messages = [
|
|
199
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })))
|
|
199
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY })))
|
|
200
200
|
];
|
|
201
201
|
await party.processMessages(messages);
|
|
202
202
|
const wrappedCredentials = {
|
|
@@ -208,7 +208,7 @@ it('PartyAuthenticator - missing deviceKey', async () => {
|
|
|
208
208
|
}, [identityKeyRecord])
|
|
209
209
|
};
|
|
210
210
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
211
|
-
expect_1.default(ok).toBe(false);
|
|
211
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
212
212
|
});
|
|
213
213
|
it('PartyAuthenticator - tampered message', async () => {
|
|
214
214
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -216,15 +216,15 @@ it('PartyAuthenticator - tampered message', async () => {
|
|
|
216
216
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
217
217
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
218
218
|
const messages = [
|
|
219
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
219
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
220
220
|
];
|
|
221
221
|
await party.processMessages(messages);
|
|
222
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
222
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
223
223
|
const before = await auth.authenticate(wrappedCredentials.payload);
|
|
224
|
-
expect_1.default(before).toBe(true);
|
|
225
|
-
wrappedCredentials.payload.signed.payload.deviceKey = crypto_1.randomBytes(32);
|
|
224
|
+
(0, expect_1.default)(before).toBe(true);
|
|
225
|
+
wrappedCredentials.payload.signed.payload.deviceKey = (0, crypto_1.randomBytes)(32);
|
|
226
226
|
const after = await auth.authenticate(wrappedCredentials.payload);
|
|
227
|
-
expect_1.default(after).toBe(false);
|
|
227
|
+
(0, expect_1.default)(after).toBe(false);
|
|
228
228
|
});
|
|
229
229
|
it('PartyAuthenticator - tampered signature', async () => {
|
|
230
230
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -232,15 +232,15 @@ it('PartyAuthenticator - tampered signature', async () => {
|
|
|
232
232
|
const auth = new authenticator_1.PartyAuthenticator(party);
|
|
233
233
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
234
234
|
const messages = [
|
|
235
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
235
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
236
236
|
];
|
|
237
237
|
await party.processMessages(messages);
|
|
238
|
-
const wrappedCredentials = proto_1.codecLoop(auth_message_1.createAuthMessage(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
238
|
+
const wrappedCredentials = (0, proto_1.codecLoop)((0, auth_message_1.createAuthMessage)(keyring, partyKey, identityKeyRecord, identityKeyRecord));
|
|
239
239
|
const before = await auth.authenticate(wrappedCredentials.payload);
|
|
240
|
-
expect_1.default(before).toBe(true);
|
|
241
|
-
wrappedCredentials.payload.signatures[0].signature = crypto_1.randomBytes(64);
|
|
240
|
+
(0, expect_1.default)(before).toBe(true);
|
|
241
|
+
wrappedCredentials.payload.signatures[0].signature = (0, crypto_1.randomBytes)(64);
|
|
242
242
|
const after = await auth.authenticate(wrappedCredentials.payload);
|
|
243
|
-
expect_1.default(after).toBe(false);
|
|
243
|
+
(0, expect_1.default)(after).toBe(false);
|
|
244
244
|
});
|
|
245
245
|
it('PartyAuthenticator - signature too old', async () => {
|
|
246
246
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -249,7 +249,7 @@ it('PartyAuthenticator - signature too old', async () => {
|
|
|
249
249
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
250
250
|
const deviceKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
251
251
|
const messages = [
|
|
252
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
252
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
253
253
|
];
|
|
254
254
|
await party.processMessages(messages);
|
|
255
255
|
const wrappedCredentials = {
|
|
@@ -259,10 +259,10 @@ it('PartyAuthenticator - signature too old', async () => {
|
|
|
259
259
|
partyKey,
|
|
260
260
|
identityKey: identityKeyRecord.publicKey,
|
|
261
261
|
deviceKey: deviceKeyRecord.publicKey
|
|
262
|
-
}, [identityKeyRecord], null, moment_1.default().subtract(2, 'days').format('YYYY-MM-DDTHH:mm:ssZ'))
|
|
262
|
+
}, [identityKeyRecord], null, (0, moment_1.default)().subtract(2, 'days').format('YYYY-MM-DDTHH:mm:ssZ'))
|
|
263
263
|
};
|
|
264
264
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
265
|
-
expect_1.default(ok).toBe(false);
|
|
265
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
266
266
|
});
|
|
267
267
|
it('PartyAuthenticator - signature too far in future', async () => {
|
|
268
268
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -271,7 +271,7 @@ it('PartyAuthenticator - signature too far in future', async () => {
|
|
|
271
271
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
272
272
|
const deviceKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
273
273
|
const messages = [
|
|
274
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
274
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
275
275
|
];
|
|
276
276
|
await party.processMessages(messages);
|
|
277
277
|
const wrappedCredentials = {
|
|
@@ -281,10 +281,10 @@ it('PartyAuthenticator - signature too far in future', async () => {
|
|
|
281
281
|
partyKey,
|
|
282
282
|
identityKey: identityKeyRecord.publicKey,
|
|
283
283
|
deviceKey: deviceKeyRecord.publicKey
|
|
284
|
-
}, [identityKeyRecord], null, moment_1.default().add(2, 'days').format('YYYY-MM-DDTHH:mm:ssZ'))
|
|
284
|
+
}, [identityKeyRecord], null, (0, moment_1.default)().add(2, 'days').format('YYYY-MM-DDTHH:mm:ssZ'))
|
|
285
285
|
};
|
|
286
286
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
287
|
-
expect_1.default(ok).toBe(false);
|
|
287
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
288
288
|
});
|
|
289
289
|
it('PartyAuthenticator - signature date invalid', async () => {
|
|
290
290
|
const { keyring, partyKey } = await createPartyKeyrings();
|
|
@@ -293,7 +293,7 @@ it('PartyAuthenticator - signature date invalid', async () => {
|
|
|
293
293
|
const identityKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.IDENTITY }));
|
|
294
294
|
const deviceKeyRecord = keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.DEVICE }));
|
|
295
295
|
const messages = [
|
|
296
|
-
party_1.createPartyGenesisMessage(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
296
|
+
(0, party_1.createPartyGenesisMessage)(keyring, keyring.findKey(keys_1.Filter.matches({ type: proto_1.KeyType.PARTY })), keyring.findKey(keys_1.Keyring.signingFilter({ type: proto_1.KeyType.FEED })).publicKey, identityKeyRecord)
|
|
297
297
|
];
|
|
298
298
|
await party.processMessages(messages);
|
|
299
299
|
const wrappedCredentials = {
|
|
@@ -306,6 +306,6 @@ it('PartyAuthenticator - signature date invalid', async () => {
|
|
|
306
306
|
}, [identityKeyRecord], null, 'INVALID')
|
|
307
307
|
};
|
|
308
308
|
const ok = await auth.authenticate(wrappedCredentials.payload);
|
|
309
|
-
expect_1.default(ok).toBe(false);
|
|
309
|
+
(0, expect_1.default)(ok).toBe(false);
|
|
310
310
|
});
|
|
311
311
|
//# sourceMappingURL=auth.test.js.map
|