libp2p-secio
Advanced tools
Comparing version 0.3.0 to 0.3.1
@@ -53,5 +53,6 @@ 'use strict'; | ||
var selectionOut = Buffer.concat([session.proposal.out, session.proposal.in, session.local.ephemeralPubKey]); | ||
var epubkey = session.local.ephemeralPubKey; | ||
var signature = session.localKey.sign(selectionOut); | ||
var signature = new Buffer(session.localKey.sign(selectionOut), 'binary'); | ||
log('out', { epubkey: epubkey, signature: signature }); | ||
return pbm.Exchange.encode({ epubkey: epubkey, signature: signature }); | ||
@@ -61,7 +62,6 @@ } | ||
function verify(session, exchangeIn) { | ||
log('2.1. verify'); | ||
log('2.1. verify', exchangeIn); | ||
session.remote.ephemeralPubKey = exchangeIn.epubkey; | ||
var selectionIn = Buffer.concat([session.proposal.in, session.proposal.out, session.remote.ephemeralPubKey]); | ||
var sigOk = session.remote.permanentPubKey.verify(selectionIn, exchangeIn.signature); | ||
@@ -68,0 +68,0 @@ |
@@ -7,2 +7,3 @@ 'use strict'; | ||
log.error = debug('libp2p:secio:error'); | ||
var read = require('async-buffered-reader'); | ||
@@ -19,13 +20,14 @@ var etm = require('../etm'); | ||
session.secure = duplexify(w, r); | ||
session.secure.write(session.proposal.randIn); | ||
// read our nonce back | ||
session.secure.once('data', function (nonceOut2) { | ||
read(session.secure, 16, function (nonceOut2) { | ||
var nonceOut = session.proposal.nonceOut; | ||
if (!nonceOut.equals(nonceOut2)) { | ||
return cb(new Error('Failed to read our encrypted nonce: ' + nonceOut + ' != ' + nonceOut2)); | ||
var err = new Error('Failed to read our encrypted nonce: ' + nonceOut.toString('hex') + ' != ' + nonceOut2.toString('hex')); | ||
log.error(err); | ||
return cb(err); | ||
} | ||
log('3. finish - finish'); | ||
log('3. finish - finish', nonceOut.toString('hex'), nonceOut2.toString('hex')); | ||
@@ -32,0 +34,0 @@ // Awesome that's all folks. |
@@ -72,3 +72,5 @@ 'use strict'; | ||
_this.handshake(function (err) { | ||
if (err) return dp.emit('error', err); | ||
if (err) { | ||
dp.emit('error', err); | ||
} | ||
@@ -78,3 +80,5 @@ // Pipe things together | ||
_this.secure.pipe(reader); | ||
dp.uncork(); | ||
dp.resume(); | ||
}); | ||
@@ -96,2 +100,3 @@ }; | ||
dp.cork(); | ||
dp.pause(); | ||
@@ -98,0 +103,0 @@ return dp; |
{ | ||
"name": "libp2p-secio", | ||
"version": "0.3.0", | ||
"version": "0.3.1", | ||
"description": "Secio implementation in JavaScript", | ||
@@ -28,9 +28,10 @@ "main": "lib/index.js", | ||
"dependencies": { | ||
"async-buffered-reader": "^1.2.1", | ||
"debug": "^2.2.0", | ||
"duplexify": "^3.4.3", | ||
"length-prefixed-stream": "^1.5.0", | ||
"libp2p-crypto": "^0.4.0", | ||
"libp2p-crypto": "^0.5.0", | ||
"multihashing": "^0.2.1", | ||
"node-forge": "^0.6.39", | ||
"peer-id": "^0.6.6", | ||
"peer-id": "^0.6.7", | ||
"protocol-buffers": "^3.1.6", | ||
@@ -42,6 +43,8 @@ "readable-stream": "1.1.13", | ||
"devDependencies": { | ||
"aegir": "^3.0.4", | ||
"aegir": "^3.1.0", | ||
"bl": "^1.1.2", | ||
"chai": "^3.5.0", | ||
"multistream-select": "^0.9.0", | ||
"pre-commit": "^1.1.3", | ||
"run-parallel": "^1.1.6", | ||
"stream-pair": "^1.0.3" | ||
@@ -48,0 +51,0 @@ }, |
@@ -57,5 +57,6 @@ 'use strict' | ||
]) | ||
const epubkey = session.local.ephemeralPubKey | ||
const signature = session.localKey.sign(selectionOut) | ||
const signature = new Buffer(session.localKey.sign(selectionOut), 'binary') | ||
log('out', {epubkey, signature}) | ||
return pbm.Exchange.encode({epubkey, signature}) | ||
@@ -65,3 +66,3 @@ } | ||
function verify (session, exchangeIn) { | ||
log('2.1. verify') | ||
log('2.1. verify', exchangeIn) | ||
@@ -74,3 +75,2 @@ session.remote.ephemeralPubKey = exchangeIn.epubkey | ||
]) | ||
const sigOk = session.remote.permanentPubKey.verify(selectionIn, exchangeIn.signature) | ||
@@ -77,0 +77,0 @@ |
@@ -7,2 +7,3 @@ 'use strict' | ||
log.error = debug('libp2p:secio:error') | ||
const read = require('async-buffered-reader') | ||
@@ -19,15 +20,14 @@ const etm = require('../etm') | ||
session.secure = duplexify(w, r) | ||
session.secure.write(session.proposal.randIn) | ||
// read our nonce back | ||
session.secure.once('data', (nonceOut2) => { | ||
read(session.secure, 16, (nonceOut2) => { | ||
const nonceOut = session.proposal.nonceOut | ||
if (!nonceOut.equals(nonceOut2)) { | ||
return cb( | ||
new Error(`Failed to read our encrypted nonce: ${nonceOut} != ${nonceOut2}`) | ||
) | ||
const err = new Error(`Failed to read our encrypted nonce: ${nonceOut.toString('hex')} != ${nonceOut2.toString('hex')}`) | ||
log.error(err) | ||
return cb(err) | ||
} | ||
log('3. finish - finish') | ||
log('3. finish - finish', nonceOut.toString('hex'), nonceOut2.toString('hex')) | ||
@@ -34,0 +34,0 @@ // Awesome that's all folks. |
@@ -62,3 +62,5 @@ 'use strict' | ||
this.handshake((err) => { | ||
if (err) return dp.emit('error', err) | ||
if (err) { | ||
dp.emit('error', err) | ||
} | ||
@@ -68,3 +70,5 @@ // Pipe things together | ||
this.secure.pipe(reader) | ||
dp.uncork() | ||
dp.resume() | ||
}) | ||
@@ -86,2 +90,3 @@ } | ||
dp.cork() | ||
dp.pause() | ||
@@ -88,0 +93,0 @@ return dp |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5768530
12
7
26
67620
+ Addedasync-buffered-reader@^1.2.1
+ Addedasync-buffered-reader@1.2.1(transitive)
+ Addedlibp2p-crypto@0.5.0(transitive)
- Removedlibp2p-crypto@0.4.0(transitive)
Updatedlibp2p-crypto@^0.5.0
Updatedpeer-id@^0.6.7