Socket
Book a DemoInstallSign in
Socket

@hyperdivision/pin-peer

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyperdivision/pin-peer

Verify a secure connection using a manual PIN

latest
Source
npmnpm
Version
1.4.0
Version published
Maintainers
4
Created
Source

pin-peer

Verify a secure connection using a manual PIN

Usage

const pin = require('pin-peer')

var outOfBandPin // this would normally be communicated somehow

const t = transport()
const i = pin.initiator(transportStreamA, function (verify) {
  return verify(null, outOfBandPin)
})

const r = pin.responder(transportStreamB)
r.once('pin', (pin) => {
  outOfBandPin = pin
})

// Hook up transportStreamA and transportStreamB

API

const initiatorStream = pin.initiator(rawStream, onverifypin(verify(err, enteredPin)), prolouge = '')

If the pin is incorrect the initiatorStream is closed immediately.

enteredPin must be a Base32 encoded string. prolouge can be an arbitrary string that was used to find the other peer. This doesn't add security to the encryption key, but does ensure both parties have the same view of how anything that happened prior to the noise handshake.

const bool = initiatorStream.secure

Boolean indicating whether the secure handshake has completed

initiatorStream.once('secure', function () {})

Emitted once the handshaking has completed

const responderStream = pin.responder(rawStream, prolouge = '')

If the initiator did not accept the pin the responderStream is closed immediately. prolouge can be an arbitrary string that was used to find the other peer. This doesn't add security to the encryption key, but does ensure both parties have the same view of how anything that happened prior to the noise handshake.

responderStream.once('pin', pinStr)

Emitted when the pin is ready

const pinStr = responderStream.pin

null until the pin is ready. Encoded as a Base32 string

Install

npm install pin-peer

License

ISC

FAQs

Package last updated on 29 May 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts