A TypeScript-based ACME client with an easy yet powerful interface for LetsEncrypt certificate management.
Go to file
2017-01-22 21:50:04 +01:00
dist update validation 2017-01-22 21:50:04 +01:00
test update validation 2017-01-22 21:50:04 +01:00
ts update validation 2017-01-22 21:50:04 +01:00
.gitignore update validation 2017-01-22 21:50:04 +01:00
.gitlab-ci.yml first version 2016-11-01 18:27:57 +01:00
.npmignore update validation 2017-01-22 21:50:04 +01:00
LICENSE switch to acme core 2016-11-11 14:17:50 +01:00
npmextra.json add npmextra.json 2017-01-01 18:09:45 +01:00
package.json update validation 2017-01-22 21:50:04 +01:00
qenv.yml update validation 2017-01-22 21:50:04 +01:00
README.md improve README 2017-01-15 23:19:48 +01:00
tslint.json first version 2016-11-01 18:27:57 +01:00

smartacme

acme implementation in TypeScript

Availabililty

npm git git docs

Status for master

build status coverage report npm downloads per month Dependency Status bitHound Dependencies bitHound Code TypeScript node JavaScript Style Guide

Usage

Use TypeScript for best in class instellisense.

import { SmartAcme } from 'smartacme'

let smac = new SmartAcme()

(async () => { // learn async/await, it'll make your life easier

    // optionally accepts a filePath Arg with a stored acmeaccount.json
    // will create an account and 
    let myAccount = await smac.createAcmeAccount()
    
    // will return a dnsHash to set in your DNS record
    let myCert = await myAccount.createAcmeCert('example.com')

    // gets and accepts the specified challenge
    // first argument optional, defaults to dns-01 (which is the cleanest method for production use)
    let myChallenge = await myCert.getChallenge('dns-01')

    /* ----------
    Now you need to set the challenge in your DNS
    myChallenge.domainNamePrefixed is the address for the record
    myChallenge.dnsKeyHash is the ready to use txt record value expected by letsencrypt
    -------------*/
})()

Other relevant npm modules

module name description
cert a higlevel production module that uses smartacme to manage certs
smartnginx a highlevel production tool for docker environments to manage nginx

npm