UNPKG

@akanass/rx-crypto

Version:

Crypto module provides some functions for security features like AES key, Key pair, RSA key, PKCS12, Certificate, PEM and more

69 lines (68 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PEM = void 0; const pem = require("pem"); const rxjs_1 = require("rxjs"); const operators_1 = require("rxjs/operators"); class PEM { constructor(_config) { this._config = _config; if (this._config && this._config.pathOpenSSL) { pem.config(this._config); } } createPrivateKey(keyBitsize, options) { return (0, rxjs_1.bindNodeCallback)(pem.createPrivateKey)(keyBitsize, options); } createDhparam(keyBitsize) { return (0, rxjs_1.bindNodeCallback)(pem.createDhparam)(keyBitsize); } createEcparam(keyName, paramEnc, noOut) { return (0, rxjs_1.bindNodeCallback)(pem.createEcparam)(keyName, paramEnc, noOut); } createCSR(options) { return (0, rxjs_1.bindNodeCallback)(pem.createCSR)(options); } createCertificate(options) { return (0, rxjs_1.bindNodeCallback)(pem.createCertificate)(options); } readCertificateInfo(certificate) { return (0, rxjs_1.bindNodeCallback)(pem.readCertificateInfo)(certificate); } getPublicKey(certificate) { return (0, rxjs_1.bindNodeCallback)(pem.getPublicKey)(certificate); } createKeyPair(keyBitsize, options) { return this.createPrivateKey(keyBitsize, options) .pipe((0, operators_1.mergeMap)((privateKeyCreationResult) => this.getPublicKey(privateKeyCreationResult.key) .pipe((0, operators_1.map)((publicKeyCreationResult) => ({ key: privateKeyCreationResult.key, publicKey: publicKeyCreationResult.publicKey }))))); } getFingerprint(certificate, hash) { return (0, rxjs_1.bindNodeCallback)(pem.getFingerprint)(certificate, hash); } getModulus(certificate, password) { return (0, rxjs_1.bindNodeCallback)(pem.getModulus)(certificate, password); } getDhparamInfo(dh) { return (0, rxjs_1.bindNodeCallback)(pem.getDhparamInfo)(dh); } createPkcs12(key, certificate, password, options) { return (0, rxjs_1.bindNodeCallback)(pem.createPkcs12)(key, certificate, password, options || {}); } readPkcs12(bufferOrPath, options) { return (0, rxjs_1.bindNodeCallback)(pem.readPkcs12)(bufferOrPath, options); } checkPkcs12(bufferOrPath, passphrase) { return (0, rxjs_1.bindNodeCallback)(pem.checkPkcs12)(bufferOrPath, passphrase); } verifySigningChain(certificate, ca) { return (0, rxjs_1.bindNodeCallback)(pem.verifySigningChain)(certificate, ca); } checkCertificate(certificate, passphrase) { return (0, rxjs_1.bindNodeCallback)(pem.checkCertificate)(certificate, passphrase); } } exports.PEM = PEM;