@shockpkg/ria-packager
Version:
Package for creating Adobe AIR packages
89 lines (68 loc) • 1.82 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SecurityCertificateX509 = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _nodeForge = _interopRequireDefault(require("node-forge"));
var _certificate = require("../certificate");
/**
* SecurityCertificateX509 constructor.
*/
class SecurityCertificateX509 extends _certificate.SecurityCertificate {
/**
* Forge certificate.
*/
constructor() {
super();
(0, _defineProperty2.default)(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 _nodeForge.default.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();
}
}
exports.SecurityCertificateX509 = SecurityCertificateX509;
//# sourceMappingURL=x509.js.map