import fs from "fs"; import path from "path"; import { Result } from "sim-shared/domain/Result.js"; export type P12Cert = { cainfo: string, p12cert: string } export type SSLCert = { cainfo: string, sslcert: string, keypem: string } export class SSLCertificateLoader { constructor( private certificatesDir: string, ) { } public loadCertificatesP12(caFile: string, certFile: string): Result { try { const cainfo = fs.readFileSync(path.resolve(this.certificatesDir, caFile)).toString(); const p12cert = fs.readFileSync(path.resolve(this.certificatesDir, certFile)).toString(); return { data: { cainfo, p12cert } }; } catch (e) { console.error("[x] Error cargando los certificados P12", e) return { error: String(e) } } } public loadCertificatesSSL(caFile: string, certFile: string, keyFile: string): Result { try { const cainfo = fs.readFileSync(path.resolve(this.certificatesDir, caFile)).toString(); const sslcert = fs.readFileSync(path.resolve(this.certificatesDir, certFile), { encoding: null }).toString(); const keypem = fs.readFileSync(path.resolve(this.certificatesDir, keyFile), { encoding: null }).toString(); return { data: { cainfo, sslcert, keypem } }; } catch (e) { console.error("[x] Error cargando los certificados SSL", e) return { error: String(e) } } } }