@sealsystems/tlscert

Provides TLS key and certificate

Usage no npm install needed!

<script type="module">
  import sealsystemsTlscert from 'https://cdn.skypack.dev/@sealsystems/tlscert';
</script>

README

@sealsystems/tlscert

CircleCI AppVeyor

@sealsystems/tlscert provides TLS key and certificate.

Installation

npm install @sealsystems/tlscert

Quick start

First you need to add a reference to @sealsystems/tlscert within your application.

const tlscert = require('@sealsystems/tlscert');

To get the content of the certificate and private key from a specific directory, first you need to set the TLS_DIR environment variable:

export TLS_DIR=$(pwd)

Then, call the get function:

const keystore = await tlscert.get();

console.log(keystore);
// => {
//       key: '...',
//       cert: '...',
//       ca: '...'
//       isFallback: true/false
//    }

If you do not set the environment variable, a default key and a default certificate will be returned. In this case the property isFallback is set to true.

if (keystore.isFallback) {
  console.log('This is the fallback key and certificate provided by the module.');
}

Please note that the files must be called key.pem, cert.pem and ca.pem, and that they have to be stored in PEM format. Having a ca.pem file is optional.

Self-signed certificate

This module uses a self-signed certificate if no other is provided. This certificate is valid for 10 years (3650 days to be exact ;-)). To see the details of the certificate, call:

npm run show-cert

To create a new one (with a new expiration date), run:

npm run generate-cert

Do not forget to release a new version in order to publish the created certificate.

BTW: It should be no problem if a system contains multiple versions of the self-signed certificate as long as they are not expired.

Running the build

To build this module use roboter.

$ bot