UNPKG

saml-login

Version:
34 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeCertPEMHeaderAndFooter = exports.generateUniqueId = exports.certToPEM = exports.keyToPEM = void 0; const crypto = require("crypto"); const keyToPEM = (key) => { const bufferedKey = Buffer.from(key.replace(/[ \t\f]/g, '').replace(/-{5}.*-{5}/g, '').replace(/\r?\n/g, ''), 'base64'); const keyObject = crypto.createPrivateKey({ key: bufferedKey, format: 'der', type: 'pkcs8' }); return keyObject.export({ format: 'pem', type: 'pkcs8' }); }; exports.keyToPEM = keyToPEM; const certToPEM = (cert) => { if (cert.indexOf("-BEGIN CERTIFICATE-") !== -1 && cert.indexOf("-END CERTIFICATE-") !== -1) { return cert.replace(/[ \t\f]/g, '').replace('BEGINCERTIFICATE', 'BEGIN CERTIFICATE').replace('ENDCERTIFICATE', 'END CERTIFICATE'); } cert = cert.match(/.{1,64}/g).join("\n"); if (cert.indexOf("-BEGIN CERTIFICATE-") === -1) cert = "-----BEGIN CERTIFICATE-----\n" + cert; if (cert.indexOf("-END CERTIFICATE-") === -1) cert = cert + "\n-----END CERTIFICATE-----\n"; return cert; }; exports.certToPEM = certToPEM; const generateUniqueId = () => { return "_" + crypto.randomBytes(64).toString("hex"); }; exports.generateUniqueId = generateUniqueId; const removeCertPEMHeaderAndFooter = (certificate) => { certificate = certificate.replace(/-+BEGIN CERTIFICATE-+\r?\n?/, ""); certificate = certificate.replace(/-+END CERTIFICATE-+\r?\n?/, ""); certificate = certificate.replace(/\r\n/g, "\n"); return certificate; }; exports.removeCertPEMHeaderAndFooter = removeCertPEMHeaderAndFooter; //# sourceMappingURL=crypto.js.map