mirror of
https://github.com/fluencelabs/js-libp2p-noise
synced 2025-06-17 21:01:20 +00:00
Verify payload in stage 1
This commit is contained in:
@ -90,11 +90,13 @@ export async function verifyPeerId(peerId: bytes, publicKey: bytes) {
|
||||
}
|
||||
}
|
||||
|
||||
export function verifySignedPayload(noiseStaticKey: bytes, plaintext: bytes, libp2pPublicKey: bytes) {
|
||||
export async function verifySignedPayload(noiseStaticKey: bytes, plaintext: bytes, libp2pPublicKey: bytes) {
|
||||
const NoiseHandshakePayload = await loadPayloadProto();
|
||||
const receivedPayload = NoiseHandshakePayload.toObject(NoiseHandshakePayload.decode(plaintext));
|
||||
const generatedPayload = getHandshakePayload(noiseStaticKey);
|
||||
|
||||
if (!ed25519.verify(generatedPayload, signature, libp2pPublicKey)) {
|
||||
throw new Error("Static key doesn't match to peer that signed payload!");
|
||||
if (!ed25519.verify(generatedPayload, receivedPayload.noiseStaticKeySignature, libp2pPublicKey)) {
|
||||
Promise.reject("Static key doesn't match to peer that signed payload!");
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user