aws-pca

2.0.1 • Public • Published

node-aws-pca

npm version

A library to generate and fetch a certificate for HTTPS use using AWS Private Certificate Authority (PCA).

Install

Required:

npm i aws-pca aws-sdk

Notice

Depending on your perspective, AWS PCA can be expensive. As of current writing, maintaining a PCA CA runs at $400.00 USD / mo, while each created certificate is $0.75 USD. Be aware that using this library to create certificiates carries a cost. I am not responsible for any charges incurred by using this library. You are responsible for understanding the costs of running the PCA.

Usage

For more documentation, see source code and tests in src/

// The following has been personally tested to work
 
const AWS = require('aws-sdk')
const PCA = require('aws-pca').PCA
 
export async function sample () {
  // The value of your CA (Certificate Authority) ARN in AWS PCA
  const CA_ARN = 'arn:aws:acm-pca:us-west-2:123456789012:certificate-authority/4819f73f-af7c-4abf-8753-62e40512cac6'
 
  const pca = new PCA(AWS, CA_ARN)
 
  // Get the CA certificate if you need to add it to your trust stores
  const caData = await pca.getCaCertificate()
 
  console.log('Certificate Authority Data')
  console.log(caData)
  console.log('--------')
 
  // Create the server certificate
  const reqCertRes = await pca.requestCertificate({
    DomainName: 'test.int',
    SubjectAlternativeNames: ['blah.test.int']
  })
 
  console.log('Request Certificate Response')
  console.log(reqCertRes)
  console.log('--------')
 
  const cert = await pca.exportCertificate(reqCertRes.CertificateArn, 'password-to-set-for-the-key')
 
  console.log('Server Certificate')
  console.log(cert)
}
 
sample().then((c) => {
  process.exit(0)
}).catch((e) => {
  console.error(e)
  process.exit(-1)
})

Recommended

Readme

Keywords

Package Sidebar

Install

npm i aws-pca

Weekly Downloads

2

Version

2.0.1

License

MIT

Unpacked Size

21.3 kB

Total Files

13

Last publish

Collaborators

  • theo.gravity