'use strict'; /* eslint-disable space-before-function-paren */ const selfsigned = require('selfsigned'); function createCertificate (attrs) { return selfsigned.generate(attrs, { algorithm: 'sha256', days: 30, keySize: 2048, extensions: [ { name: 'basicConstraints', cA: true }, { name: 'keyUsage', keyCertSign: true, digitalSignature: true, nonRepudiation: true, keyEncipherment: true, dataEncipherment: true }, { name: 'subjectAltName', altNames: [ { // type 2 is DNS type: 2, value: 'localhost' }, { type: 2, value: 'localhost.localdomain' }, { type: 2, value: 'lvh.me' }, { type: 2, value: '*.lvh.me' }, { type: 2, value: '[::1]' }, { // type 7 is IP type: 7, ip: '127.0.0.1' }, { type: 7, ip: 'fe80::1' } ] } ] }); } module.exports = createCertificate;