mirror of
https://github.com/fluencelabs/js-libp2p-noise
synced 2025-04-25 18:32:22 +00:00
Fix test
This commit is contained in:
parent
10a41c5ea6
commit
741f6c9788
@ -97,7 +97,7 @@ export class IKHandshake extends AbstractHandshake {
|
|||||||
const spk = Buffer.from(hs.s.publicKey);
|
const spk = Buffer.from(hs.s.publicKey);
|
||||||
const ns = this.encryptAndHash(hs.ss, spk);
|
const ns = this.encryptAndHash(hs.ss, spk);
|
||||||
|
|
||||||
this.mixKey(hs.ss, this.dh(hs.s.privateKey, hs.re));
|
this.mixKey(hs.ss, this.dh(hs.s.privateKey, hs.rs));
|
||||||
const ciphertext = this.encryptAndHash(hs.ss, payload);
|
const ciphertext = this.encryptAndHash(hs.ss, payload);
|
||||||
|
|
||||||
return { ne, ns, ciphertext };
|
return { ne, ns, ciphertext };
|
||||||
|
@ -10,7 +10,8 @@ describe("Index", () => {
|
|||||||
|
|
||||||
it("Test complete IK handshake", async () => {
|
it("Test complete IK handshake", async () => {
|
||||||
try {
|
try {
|
||||||
const ik = new IKHandshake();
|
const ikI = new IKHandshake();
|
||||||
|
const ikR = new IKHandshake();
|
||||||
|
|
||||||
// Generate static noise keys
|
// Generate static noise keys
|
||||||
const kpInitiator: KeyPair = await generateKeypair();
|
const kpInitiator: KeyPair = await generateKeypair();
|
||||||
@ -21,8 +22,8 @@ describe("Index", () => {
|
|||||||
const libp2pRespKeys = await generateEd25519Keys();
|
const libp2pRespKeys = await generateEd25519Keys();
|
||||||
|
|
||||||
// Create sessions
|
// Create sessions
|
||||||
const initiatorSession = await ik.initSession(true, prologue, kpInitiator, kpResponder.publicKey);
|
const initiatorSession = await ikI.initSession(true, prologue, kpInitiator, kpResponder.publicKey);
|
||||||
const responderSession = await ik.initSession(false, prologue, kpResponder, Buffer.alloc(32));
|
const responderSession = await ikR.initSession(false, prologue, kpResponder, Buffer.alloc(32));
|
||||||
|
|
||||||
/* Stage 0 */
|
/* Stage 0 */
|
||||||
|
|
||||||
@ -34,13 +35,12 @@ describe("Index", () => {
|
|||||||
|
|
||||||
// initiator sends message
|
// initiator sends message
|
||||||
const message = Buffer.concat([Buffer.alloc(0), payloadInitEnc]);
|
const message = Buffer.concat([Buffer.alloc(0), payloadInitEnc]);
|
||||||
const messageBuffer = ik.sendMessage(initiatorSession, message);
|
const messageBuffer = ikI.sendMessage(initiatorSession, message);
|
||||||
|
|
||||||
expect(messageBuffer.ne.length).not.equal(0);
|
expect(messageBuffer.ne.length).not.equal(0);
|
||||||
|
|
||||||
// responder receives message
|
// responder receives message
|
||||||
const plaintext = ik.recvMessage(responderSession, messageBuffer);
|
const plaintext = ikR.recvMessage(responderSession, messageBuffer);
|
||||||
console.log("Stage 0 responder payload: ", plaintext);
|
|
||||||
|
|
||||||
/* Stage 1 */
|
/* Stage 1 */
|
||||||
|
|
||||||
@ -51,12 +51,16 @@ describe("Index", () => {
|
|||||||
const payloadRespEnc = await createHandshakePayload(libp2pRespPubKey, libp2pRespPrivKey, respSignedPayload);
|
const payloadRespEnc = await createHandshakePayload(libp2pRespPubKey, libp2pRespPrivKey, respSignedPayload);
|
||||||
|
|
||||||
const message1 = Buffer.concat([message, payloadRespEnc]);
|
const message1 = Buffer.concat([message, payloadRespEnc]);
|
||||||
const messageBuffer2 = ik.sendMessage(responderSession, message1);
|
const messageBuffer2 = ikR.sendMessage(responderSession, message1);
|
||||||
|
|
||||||
// initator receives message
|
// initiator receives message
|
||||||
const plaintext2 = ik.recvMessage(initiatorSession, messageBuffer2);
|
const plaintext2 = ikI.recvMessage(initiatorSession, messageBuffer2);
|
||||||
|
|
||||||
|
assert(initiatorSession.cs1.k.equals(responderSession.cs1.k));
|
||||||
|
assert(initiatorSession.cs2.k.equals(responderSession.cs2.k));
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
assert(false, e.message);
|
assert(false, e.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user