UNPKG

@shockpkg/ria-packager

Version:

Package for creating Adobe AIR packages

79 lines (59 loc) 1.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SecurityKeyPrivateRsa = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _nodeForge = _interopRequireDefault(require("node-forge")); var _private = require("../private"); /** * SecurityKeyPrivateRsa constructor. */ class SecurityKeyPrivateRsa extends _private.SecurityKeyPrivate { /** * Forge private key. */ constructor() { super(); (0, _defineProperty2.default)(this, "_forgePrivateKey", null); } /** * Reset the internal state. */ reset() { this._forgePrivateKey = null; } /** * Read a forge private key. * * @param privateKey Forge private key. */ readForgeKeyPrivate(privateKey) { this.reset(); this._forgePrivateKey = privateKey; } /** * Sign data. * * @param data Data to be signed. * @param digest Digest algorithm. * @returns The signature. */ sign(data, digest) { const privateKey = this._forgePrivateKey; if (!privateKey) { throw new Error('Private key not initialized'); } digest = digest.toLowerCase(); if (digest !== 'sha1') { throw new Error(`Unsupported digest algorithm: ${digest}`); } const md = _nodeForge.default.md.sha1.create(); md.update(_nodeForge.default.util.decode64(data.toString('base64'))); const signature = privateKey.sign(md, 'RSASSA-PKCS1-V1_5'); return Buffer.from(_nodeForge.default.util.encode64(signature), 'base64'); } } exports.SecurityKeyPrivateRsa = SecurityKeyPrivateRsa; //# sourceMappingURL=rsa.js.map