Add secretKey module
This commit is contained in:
31
server/secretKey.js
Normal file
31
server/secretKey.js
Normal file
@ -0,0 +1,31 @@
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const forge = require("node-forge");
|
||||
const invariant = require("invariant");
|
||||
|
||||
let secretKey;
|
||||
if (process.env.NODE_ENV === "production") {
|
||||
invariant(
|
||||
process.env.PRIVATE_KEY,
|
||||
"Missing $PRIVATE_KEY environment variable"
|
||||
);
|
||||
|
||||
secretKey = {
|
||||
public: fs.readFileSync(
|
||||
path.resolve(__dirname, "../secret_key.pub"),
|
||||
"utf8"
|
||||
),
|
||||
private: process.env.PRIVATE_KEY
|
||||
};
|
||||
} else {
|
||||
// Generate a random keypair for dev/testing.
|
||||
// See https://gist.github.com/sebadoom/2b70969e70db5da9a203bebd9cff099f
|
||||
const keypair = forge.rsa.generateKeyPair({ bits: 2048 });
|
||||
|
||||
secretKey = {
|
||||
public: forge.pki.publicKeyToPem(keypair.publicKey, 72),
|
||||
private: forge.pki.privateKeyToPem(keypair.privateKey, 72)
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = secretKey;
|
||||
Reference in New Issue
Block a user