1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 'use strict';
- 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;
|