nscrypto
v1.1.0
Published
Node.js bindings for nscrypto-cpp
Downloads
2
Readme
node-nscrypto
Wrapper around nscrypto-cpp.
PREREQUISITES
- A relatively recent Node or io.js version (tested with [email protected][02] and io.js@latest).
- A C++11 compiler.
- A recent OpenSSL library. If you're on Mac OS X: Apple has deprecated OpenSSL in favor of its own TLS and crypto libraries, and you should look at Homebrew to install a recent OpenSSL version.
INSTALLATION
From the NPM repository:
$ npm install nscrypto
From Github (don't rely on this for stability):
$ npm install nowsecure/node-nscrypto
Or clone the repository and build it directly:
$ git clone https://github.com/nowsecure/node-nscrypto.git
$ cd node-nscrypto
$ npm install
For installations on Mac OS X, the default assumption is that you use a Homebrew-installed OpenSSL library that is installed in /usr/local/opt/openssl/
. If you have OpenSSL installed somewhere else, you can override the library and include paths:
$ env OPENSSL_INCLUDE_DIR=/path/to/include/dir OPENSSL_LIB_DIR=/path/to/lib/dir npm install nscrypto
API
All API calls require the nscrypto
module to be loaded:
var nscrypto = require('nscrypto');
Key generation (ref)
nscrypto.generateKeyPair() : Object
The returned object has two properties of type Buffer
:
public
: the generated public keyprivate
: the generated private key
Encryption (ref)
nscrypto.{client,server}.encrypt(
sPriv : Buffer,
rPub : Buffer,
sId : String,
rId : String,
plaintext : Buffer
) : Object
Returned object has two properties:
enc
: the encrypted dataeph
: the ephemeral key
Decryption (ref)
nscrypto.{client,server}.decrypt(
rPriv : Buffer,
sPub : Buffer,
sId : String,
rId : String,
encrypted : Object
) : Buffer
message
is an object as the one returned by the encryption functions, having enc
and eph
properties.
The returned Buffer
is the decrypted plaintext.
CHANGELOG
- 1.1.0 : Make OpenSSL library/include paths overridable on Mac OS X
- 1.0.0 : Initial release
SEE ALSO
AUTHOR
Robert Klep <[email protected]>
LICENCE
See LICENSE.md.