mirror of
https://github.com/fluencelabs/js-libp2p-noise
synced 2025-04-25 15:12:32 +00:00
Fix test
This commit is contained in:
parent
dff2450b18
commit
3bd2145079
@ -44,11 +44,10 @@ export class Handshake extends XXHandshake {
|
|||||||
} else {
|
} else {
|
||||||
logger("XX Fallback Stage 0 - Responder waiting to receive first message...");
|
logger("XX Fallback Stage 0 - Responder waiting to receive first message...");
|
||||||
const receivedMessageBuffer = decode0(this.initialMsg);
|
const receivedMessageBuffer = decode0(this.initialMsg);
|
||||||
console.log("receivedMessageBuffer: ", receivedMessageBuffer)
|
|
||||||
this.xx.recvMessage(this.session, {
|
this.xx.recvMessage(this.session, {
|
||||||
ne: receivedMessageBuffer.ne,
|
ne: receivedMessageBuffer.ne,
|
||||||
ns: Buffer.alloc(32),
|
ns: Buffer.alloc(0),
|
||||||
ciphertext: Buffer.alloc(32),
|
ciphertext: Buffer.alloc(0),
|
||||||
});
|
});
|
||||||
logger("XX Fallback Stage 0 - Responder received first message.");
|
logger("XX Fallback Stage 0 - Responder received first message.");
|
||||||
}
|
}
|
||||||
@ -58,17 +57,19 @@ export class Handshake extends XXHandshake {
|
|||||||
public async exchange(): Promise<void> {
|
public async exchange(): Promise<void> {
|
||||||
if (this.isInitiator) {
|
if (this.isInitiator) {
|
||||||
logger('XX Fallback Stage 1 - Initiator waiting to receive first message from responder...');
|
logger('XX Fallback Stage 1 - Initiator waiting to receive first message from responder...');
|
||||||
const receivedMessageBuffer = decode1(this.initialMsg);
|
const receivedMessageBuffer = decode1((await this.connection.readLP()).slice());
|
||||||
|
// const receivedMessageBuffer = decode1(this.initialMsg);
|
||||||
|
logger("Initiator receivedMessageBuffer in stage 1", receivedMessageBuffer);
|
||||||
const plaintext = this.xx.recvMessage(this.session, receivedMessageBuffer);
|
const plaintext = this.xx.recvMessage(this.session, receivedMessageBuffer);
|
||||||
logger('XX Fallback Stage 1 - Initiator received the message. Got remote\'s static key.');
|
logger('XX Fallback Stage 1 - Initiator received the message. Got remote\'s static key.');
|
||||||
|
|
||||||
// logger("Initiator going to check remote's signature...");
|
logger("Initiator going to check remote's signature...");
|
||||||
// try {
|
try {
|
||||||
// await verifySignedPayload(receivedMessageBuffer.ns, plaintext, this.remotePeer.id);
|
await verifySignedPayload(receivedMessageBuffer.ns, plaintext, this.remotePeer.id);
|
||||||
// } catch (e) {
|
} catch (e) {
|
||||||
// throw new Error(`Error occurred while verifying signed payload: ${e.message}`);
|
throw new Error(`Error occurred while verifying signed payload: ${e.message}`);
|
||||||
// }
|
}
|
||||||
// logger("All good with the signature!");
|
logger("All good with the signature!");
|
||||||
} else {
|
} else {
|
||||||
logger('Stage 1 - Responder sending out first message with signed payload and static key.');
|
logger('Stage 1 - Responder sending out first message with signed payload and static key.');
|
||||||
const signedPayload = signPayload(this.libp2pPrivateKey, getHandshakePayload(this.staticKeys.publicKey));
|
const signedPayload = signPayload(this.libp2pPrivateKey, getHandshakePayload(this.staticKeys.publicKey));
|
||||||
|
@ -13,7 +13,7 @@ import {generateEd25519Keys, getKeyPairFromPeerId} from "./utils";
|
|||||||
import {Handshake} from "../src/handshake-xx-fallback";
|
import {Handshake} from "../src/handshake-xx-fallback";
|
||||||
import {createPeerIdsFromFixtures} from "./fixtures/peer";
|
import {createPeerIdsFromFixtures} from "./fixtures/peer";
|
||||||
import {assert} from "chai";
|
import {assert} from "chai";
|
||||||
import {encode0} from "../src/encoder";
|
import {encode0, encode1} from "../src/encoder";
|
||||||
|
|
||||||
describe("XX Fallback Handshake", () => {
|
describe("XX Fallback Handshake", () => {
|
||||||
let peerA, peerB, fakePeer;
|
let peerA, peerB, fakePeer;
|
||||||
@ -31,29 +31,28 @@ describe("XX Fallback Handshake", () => {
|
|||||||
const prologue = Buffer.from('/noise');
|
const prologue = Buffer.from('/noise');
|
||||||
const staticKeysInitiator = generateKeypair();
|
const staticKeysInitiator = generateKeypair();
|
||||||
const staticKeysResponder = generateKeypair();
|
const staticKeysResponder = generateKeypair();
|
||||||
|
const ephemeralKeys = generateKeypair();
|
||||||
|
|
||||||
const {privateKey: initiatorPrivKey, publicKey: initiatorPubKey} = getKeyPairFromPeerId(peerA);
|
const {privateKey: initiatorPrivKey, publicKey: initiatorPubKey} = getKeyPairFromPeerId(peerA);
|
||||||
const {privateKey: responderPrivKey, publicKey: responderPubKey} = getKeyPairFromPeerId(peerB);
|
const {privateKey: responderPrivKey, publicKey: responderPubKey} = getKeyPairFromPeerId(peerB);
|
||||||
|
|
||||||
const signedPayload = signPayload(initiatorPrivKey, getHandshakePayload(staticKeysInitiator.publicKey));
|
const signedPayload = signPayload(initiatorPrivKey, getHandshakePayload(staticKeysInitiator.publicKey));
|
||||||
const signedEarlyDataPayload = signEarlyDataPayload(initiatorPrivKey, Buffer.alloc(0));
|
|
||||||
const handshakePayload = await createHandshakePayload(
|
const handshakePayload = await createHandshakePayload(
|
||||||
initiatorPubKey,
|
initiatorPubKey,
|
||||||
initiatorPrivKey,
|
initiatorPrivKey,
|
||||||
signedPayload,
|
signedPayload,
|
||||||
signedEarlyDataPayload,
|
|
||||||
);
|
);
|
||||||
const initialMsg = encode0({
|
const initialMsg = encode0({
|
||||||
ne: staticKeysInitiator.publicKey,
|
ne: ephemeralKeys.publicKey,
|
||||||
ns: Buffer.alloc(32),
|
ns: Buffer.alloc(0),
|
||||||
ciphertext: handshakePayload,
|
ciphertext: handshakePayload,
|
||||||
});
|
});
|
||||||
|
|
||||||
const handshakeInit =
|
const handshakeInit =
|
||||||
new Handshake(true, initiatorPrivKey, initiatorPubKey, prologue, staticKeysInitiator, connectionFrom, peerB, staticKeysInitiator, initialMsg);
|
new Handshake(true, initiatorPrivKey, initiatorPubKey, prologue, staticKeysInitiator, connectionFrom, peerB, ephemeralKeys, initialMsg);
|
||||||
|
|
||||||
const handshakeResp =
|
const handshakeResp =
|
||||||
new Handshake(false, responderPrivKey, responderPubKey, prologue, staticKeysResponder, connectionTo, peerA, staticKeysInitiator, initialMsg);
|
new Handshake(false, responderPrivKey, responderPubKey, prologue, staticKeysResponder, connectionTo, peerA, ephemeralKeys, initialMsg);
|
||||||
|
|
||||||
|
|
||||||
await handshakeInit.propose();
|
await handshakeInit.propose();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user