UNPKG

androidtv-remote

Version:
33 lines (28 loc) 1.13 kB
import forge from "node-forge" import crypto from "crypto"; export class CertificateGenerator { static generateFull(name, country, state, locality, organisation, OU){ let keys = forge.pki.rsa.generateKeyPair(2048); let cert = forge.pki.createCertificate(); cert.publicKey = keys.publicKey; cert.serialNumber = '01' + crypto. randomBytes(19).toString("hex"); cert.validity.notBefore = new Date(); let date = new Date(); date.setUTCFullYear(2099); cert.validity.notAfter = date; let attributes = [ {name: 'commonName', value: name}, {name: 'countryName', value: country}, {shortName: 'ST', value: state}, {name: 'localityName', value: locality}, {name: 'organizationName', value: organisation}, {shortName: 'OU', value: OU} ]; cert.setSubject(attributes); cert.sign(keys.privateKey, forge.md.sha256.create()); return { cert : forge.pki.certificateToPem(cert), key : forge.pki.privateKeyToPem(keys.privateKey), } } }