draft: refactor project so it sits on top of a standalone app
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
'use strict';
|
||||
|
||||
const selfsigned = require('selfsigned');
|
||||
|
||||
function createCertificate(attributes) {
|
||||
return selfsigned.generate(attributes, {
|
||||
algorithm: 'sha256',
|
||||
days: 30,
|
||||
keySize: 2048,
|
||||
extensions: [
|
||||
// {
|
||||
// name: 'basicConstraints',
|
||||
// cA: true,
|
||||
// },
|
||||
{
|
||||
name: 'keyUsage',
|
||||
keyCertSign: true,
|
||||
digitalSignature: true,
|
||||
nonRepudiation: true,
|
||||
keyEncipherment: true,
|
||||
dataEncipherment: true,
|
||||
},
|
||||
{
|
||||
name: 'extKeyUsage',
|
||||
serverAuth: true,
|
||||
clientAuth: true,
|
||||
codeSigning: true,
|
||||
timeStamping: 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;
|
||||
Reference in New Issue
Block a user