@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
JavaScript
;
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;