UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

77 lines (61 loc) 1.47 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; import forge from 'node-forge'; import { SecurityCertificate } from "../certificate.mjs"; /** * SecurityCertificateX509 constructor. */ export class SecurityCertificateX509 extends SecurityCertificate { /** * Forge certificate. */ constructor() { super(); _defineProperty(this, "_forgeCertificate", null); } /** * Reset the internal state. */ reset() { this._forgeCertificate = null; } /** * Read a forge certificate. * * @param certificate Forge certificate. */ readForgeCertificate(certificate) { this.reset(); this._forgeCertificate = certificate; } /** * Encode as PEM string. * * @returns PEM string. */ encodePem() { const forgeCertificate = this._forgeCertificate; if (!forgeCertificate) { throw new Error('Certificate not initialized'); } return forge.pki.certificateToPem(forgeCertificate); } /** * Encode as PEM data. * * @returns The binary PEM data. */ encodePemData() { // Remove all the non-base64 lines, then decode. const base64 = this.encodePem().split(/[\r\n]+/).map(s => s.trim()).filter(s => !s.startsWith('-')).join(''); return Buffer.from(base64, 'base64'); } /** * Encode for certchain data. * * @returns Certchain data. */ encodeCertchain() { return this.encodePemData(); } } //# sourceMappingURL=x509.mjs.map