Quindi c'è un pacchetto Node.js openpgp che è disponibile per la firma di documenti con GPG, ma richiede pubblico / chiave segreta. Sappiamo tutti che inserire la chiave direttamente nel file è pericolosa e non raccomandarla in fase di produzione e useremo solitamente la variabile di envrionment ( process.env
), ma che ne dici di utilizzare nodejs built-in fs
? È sicuro?
Quindi diciamo che abbiamo rilasciato la chiave pubblica / privata in public.key
e private.key
quindi è sicuro (per la produzione) recuperare la chiave con lo script seguente?
var express = require('express');
var app = express();
var fs = require('fs');
function PublicKey() {
var publickey;
fs.readFile('./public.key', (err, data) => {
(err) => {
throw err;
}
publickey = ddata;
})
return publickey;
}
function PrivateKey() {
var privatekey;
fs.readFile('./private.key', (err, data) => {
(err) => {
throw err;
}
privatekey = ddata;
})
return privatekey;
}
app.get('/' ,(req, res) => {
...
var gpgkey = {
public: PublicKey(),
private: PrivateKey()
}
//only save to local variable when needed, which will be cleared when the function finished
...
})
Quindi nel mio codice ho usato la funzione per restituire la chiave e memorizzare nella variabile locale. la mia opinione è memorizzare le chiavi nella variabile locale invece che nella variabile globale perché la variabile locale verrà cancellata quando la funzione è terminata.
Quindi il mio codice è sicuro? Il salvataggio delle chiavi nel passaggio aggiuntivo variabile locale? Quale è più consigliato, usando process.env
o fs
?