initial upload
This commit is contained in:
parent
987c99d00b
commit
bb6c0147db
44 changed files with 1884 additions and 131 deletions
51
functions/pki.utils.mjs
Normal file
51
functions/pki.utils.mjs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
import {
|
||||
default as forge
|
||||
} from "node-forge";
|
||||
|
||||
import {
|
||||
readFileSync,
|
||||
writeFileSync,
|
||||
mkdirSync
|
||||
} from "fs";
|
||||
|
||||
|
||||
export function loadCertificate(sCertID) {
|
||||
return forge.pki.certificateFromPem(
|
||||
readFileSync(`datastore/certificates/${sCertID}/certificate.pem`, 'utf8')
|
||||
);
|
||||
}
|
||||
|
||||
export function loadPrivateKey(sCertID) {
|
||||
return forge.pki.privateKeyFromPem(
|
||||
readFileSync(`datastore/certificates/${sCertID}/privateKey.pem`, 'utf8')
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export function saveCertificate(iCertificate, sCertID, sCertType) {
|
||||
// encode certificates as PEM
|
||||
const certificate = forge.pki.certificateToPem(iCertificate);
|
||||
|
||||
// create certificate directory
|
||||
mkdirSync(`datastore/certificates/`, { recursive: true });
|
||||
|
||||
// write certificate to file
|
||||
writeFileSync(`datastore/certificates/${sCertID}.crt`, certificate);
|
||||
}
|
||||
|
||||
export function savePrivateKey(iPrivateKey, sCertID) {
|
||||
// encode keys as PEM
|
||||
const privateKey = forge.pki.privateKeyToPem(iPrivateKey);
|
||||
|
||||
// create key directory
|
||||
mkdirSync(`datastore/keys/`, { recursive: true });
|
||||
|
||||
// write keys to file
|
||||
writeFileSync(`datastore/keys/${sCertID}.key`, privateKey);
|
||||
}
|
||||
|
||||
|
||||
export function generatePublicKeyFromPrivateKey(iPrivateKey) {
|
||||
return forge.pki.rsa.setPublicKey(iPrivateKey.n, iPrivateKey.e);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue