make-cert
Version:
Quickly generate a self-signed cert to start an HTTPS server
36 lines (30 loc) • 930 B
JavaScript
const forge = require('node-forge')
module.exports = function (hostName) {
const keys = forge.pki.rsa.generateKeyPair(2048)
const cert = forge.pki.createCertificate()
cert.publicKey = keys.publicKey
cert.serialNumber = '01'
cert.validity.notBefore = new Date()
{
const expirationDate = new Date()
expirationDate.setFullYear(expirationDate.getFullYear() + 1)
cert.validity.notAfter = expirationDate
}
{
const attrs = [
{name: 'commonName', value: hostName},
{name: 'countryName', value: 'US'},
{shortName: 'ST', value: 'California'},
{name: 'localityName', value: 'Berkeley'},
{name: 'organizationName', value: 'Test'},
{shortName: 'OU', value: 'Test'}
]
cert.setSubject(attrs)
cert.setIssuer(attrs)
}
cert.sign(keys.privateKey)
return {
cert: forge.pki.certificateToPem(cert),
key: forge.pki.privateKeyToPem(keys.privateKey)
}
}