Read a key safely into a secure, read-only Buffer
Last updated 3 years ago by emilbayes .
ISC · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install secure-read-key 
SYNC missed versions from official npm registry.


Build Status

Read a key safely into a secure, read-only Buffer

A piece in the puzzle towards secure-key-management


var readKey = require('secure-read-key')

var destroy = readKey(32, 'keypair.secret', function (err, key) {
  if (err) throw err

  // key is read-only, any writes to `key` will kill our program

  // Once we're done with the key, let's destroy it

  // Any further access to `key` will kill our program

:warning: Warnings:

  • The key is read-only. Any writes to it will crash your program with no mercy
  • Once the key is destroyed, any access to it (whether read or write) will crash your program with no mercy


var destroy = readKey(bytes, path, cb(err, secureKeyBuf))

bytes must be a safe integer at least 0, path must be a valid 1st argument to and cb must be given.

Causes of error can be:

  • The file cannot be opened in read mode (maybe the file doesn't exist or is a dir)
  • The file cannot be read
  • The number of bytes read did not match the expected number of bytes

Note that the secureKeyBuf looks like a normal Buffer, but has some extra properties. You can read more about Secure Buffers on secure-key-management Be wary about using any of the default Buffer operations on this Secure Buffer.

To explicitly release the key and it's content, call the returned destroy method, which will safely wipe the key from memory and mark it for no access, to prevent any accidental misuse.


npm install secure-read-key



Current Tags

  • 1.0.1                                ...           latest (3 years ago)

3 Versions

  • 1.0.1                                ...           3 years ago
  • 1.0.0                                ...           3 years ago
  • 0.1.0                                ...           3 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (1)
Dependents (1)

Copyright 2014 - 2017 © |