JSPM

openssl-nodejs-promise

0.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 47
  • Score
    100M100P100Q72745F
  • License MIT

Promisified openssl library

Package Exports

  • openssl-nodejs-promise

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (openssl-nodejs-promise) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

openssl-nodejs-promise

Fork of openssl-nodejs by codevibess # openssl-node-js-promise is a package which gives you a possibility to run every OpenSSL command in Node.js in a handy way. Moreover, parameters like -in, -keyin, -config and etc can be replaced by a raw data (Buffer).

Installation & Usage

npm install openssl-nodejs-promise

Import openssl module:

const openssl = require('openssl-nodejs-promise')
openssl(cmd, options).then((res) => ...)

Supported Options

The only supported option is the directory openssl-nodejs-promise will write to. the default is openssl in the current directory.

const options = { dir: '/tmp/openssl' }

Next, invoke openssl function and put command with parameters inside a function like presented in the example below.

openssl('openssl req -config csr.cnf -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout key.key -out certificate.crt')
    .then((buffer) => buffer.toString())
    .catch(e => console.error(e.stack))

To get access to the result of execution specify callback function as the last parameter of openssl function (with arguments err and buffer).

openssl function can be invoked with a single parameter like OpenSSL command (see example above) or within an array with command name and parameters itself.

openssl(['req', '-config', 'csr.conf', '-out', 'CSR.csr', '-new', '-newkey', 'rsa:2048', '-nodes', '-keyout', 'privateKey.key');

If you want to specify Buffer text instead of the file as an input/output or whatever you need, use the version with an array as a function parameter. And put an object with keys: name: (specify a name of file which will be created to handle this command), and buffer: (your buffer variable) Example of object:

{ name:'csr.conf', buffer: BufferVariable }

Command example:

openssl(['req', '-config', { name:'csr.conf', buffer: BufferVariable }, '-out', 'CSR.csr', '-new', '-newkey', 'rsa:2048', '-nodes', '-keyout', 'privateKey.key']);

When you used a command which generates additional output in file format this package will create a folder openssl/ in the directory where the command was invoked. All output files will appear in this folder (openssl). Te output directory location can be overridden via the options.