Files
drop/server/plugins/ca.ts
2024-10-07 22:35:54 +11:00

19 lines
573 B
TypeScript

import { CertificateAuthority } from "../internal/clients/ca";
import fs from "fs";
import { fsCertificateStore } from "../internal/clients/store";
let ca: CertificateAuthority | undefined;
export const useGlobalCertificateAuthority = () => {
if (!ca) throw new Error("CA not initialised");
return ca;
};
export default defineNitroPlugin(async (nitro) => {
const basePath = process.env.CLIENT_CERTIFICATES ?? "./certs";
fs.mkdirSync(basePath, { recursive: true });
const store = fsCertificateStore(basePath);
ca = await CertificateAuthority.new(store);
});