← Files OpsTruthARCHIVED FILE

scripts/generate-signing-key.mjs

640 Bytes · Oct 4, 2026 · 12:31 UTC

↓ Download file

import { generateKeyPairSync } from "node:crypto";
import { writeFile } from "node:fs/promises";

const [privatePath, publicPath] = process.argv.slice(2);
if (!privatePath || !publicPath) {
  console.error("usage: node scripts/generate-signing-key.mjs <private-pem-path> <public-pem-path>");
  process.exit(1);
}

const { privateKey, publicKey } = generateKeyPairSync("ed25519");
await writeFile(privatePath, privateKey.export({ type: "pkcs8", format: "pem" }), { mode: 0o600 });
await writeFile(publicPath, publicKey.export({ type: "spki", format: "pem" }), { mode: 0o600 });
console.log("generated an Ed25519 evidence-signing key pair");

SHA-256: 764b96aa0bffc2e24f3da59b23ab1e3590772982c5161bb935fb20fb13045f79