2.6.0 • Published 7 years ago

simplessl v2.6.0

Weekly downloads
4
License
ISC
Repository
github
Last release
7 years ago

simplessl

A basic openssl manager

Build status Coverage status Dependency status Dev dependency status Issues Pull requests

Installation

$ npm install simplessl

Features

  • simply create key, csr & crt and save it in files for ssl use
  • ... with the three or only one function

Doc

interface iOptions {
  keysize?: string|number, // must be equal to : ("small" | 2048) | ("medium" | 3072) | ("large" | 4096)
  country?: string,
  locality?: string,
  state?: string,
  organization?: string,
  common?: string,
  email?: string
}

interface iPrivateKey {
  options: iOptions,
  privateKey: string
}

interface iCSR extends iPrivateKey {
  CSR: string
}

interface iCertificate extends iCSR {
  certificate: string
}
  • setOpenSSLBinPath(file: string): Promise<void> set a specific path to the OpenSSL software (default = process.env.OPENSSL_BIN || "openssl")
  • setOpenSSLConfPath(file: string): Promise<void> set a specific path to the OpenSSL configuration (default = process.env.OPENSSL_CONF || /lib/openssl.cnf)
  • createPrivateKey(keyfile: string, options?: string|number|iOptions): Promise<iPrivateKey>
  • createCSR(keyfile: string, csrfile: string, options?: string|number|iOptions): Promise<iCSR>
  • createCertificate(keyfile: string, csrfile: string, certificatefile: string, options?: string|number|iOptions): Promise<iCertificate>

if "options" is given and not an object, define the key's size

Examples

Native

const SimpleSSL = require("simplessl");

const SSL = new SimpleSSL(),

   crtpath = path.join(__dirname, "crt"),
      serverkey = path.join(crtpath, "server.key"),
      servercsr = path.join(crtpath, "server.csr"),
      servercrt = path.join(crtpath, "server.crt");

// this function will automatically apply SSL.createCSR && SSL.createPrivateKey functions
// if serverkey or servercsr does not exist

SSL.createCertificate(serverkey, servercsr, servercrt, "medium").then((keys) => {

   console.log(keys.privateKey);
   console.log(keys.CSR);
   console.log(keys.certificate);
   console.log(keys.options); // with conf default value added

   return new Promise((resolve) => {

       require("https").createServer({
          key: keys.privateKey,
          cert: keys.certificate
       }).listen(8000, resolve);

   });

}).catch((err) => {
   console.log(err);
});

Typescript

import SimpleSSL = require("simplessl");
const SSL = new SimpleSSL();

SSL.createCertificate(serverkey, servercsr, servercrt, "medium").then((data: iCertificate) => {
  console.log(data);
});

Tests

$ npm run-script tests

License

ISC

2.6.0

7 years ago

2.5.2

8 years ago

2.5.1

8 years ago

2.5.0

8 years ago

2.4.0

8 years ago

2.3.1

8 years ago

2.3.0

8 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

2.1.0

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.5.0

9 years ago

1.4.0

10 years ago

1.3.3

10 years ago

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago