From 4f73cdb7afb0e30c7a49c39b5fc9b7c7ad4b40ca Mon Sep 17 00:00:00 2001 From: Magnus von Wachenfeldt Date: Thu, 26 Aug 2021 14:35:07 +0200 Subject: [PATCH] stuff --- src/encryptEngines/encryptEngines.js | 12 +---- src/encryptEngines/io.js | 72 ---------------------------- src/encryptEngines/node12.js | 56 ---------------------- src/schemes/pkcs1.js | 1 - 4 files changed, 1 insertion(+), 140 deletions(-) delete mode 100644 src/encryptEngines/io.js delete mode 100644 src/encryptEngines/node12.js diff --git a/src/encryptEngines/encryptEngines.js b/src/encryptEngines/encryptEngines.js index 2d7421b..e908a3e 100644 --- a/src/encryptEngines/encryptEngines.js +++ b/src/encryptEngines/encryptEngines.js @@ -1,17 +1,7 @@ -var crypt = require('crypto'); - module.exports = { getEngine: function (keyPair, options) { var engine = require('./js.js'); - if (options.environment === 'node') { - if (typeof crypt.publicEncrypt === 'function' && typeof crypt.privateDecrypt === 'function') { - if (typeof crypt.privateEncrypt === 'function' && typeof crypt.publicDecrypt === 'function') { - engine = require('./io.js'); - } else { - engine = require('./node12.js'); - } - } - } + return engine(keyPair, options); } }; \ No newline at end of file diff --git a/src/encryptEngines/io.js b/src/encryptEngines/io.js deleted file mode 100644 index 799ae1d..0000000 --- a/src/encryptEngines/io.js +++ /dev/null @@ -1,72 +0,0 @@ -var crypto = require('crypto'); -var constants = require('constants'); -var schemes = require('../schemes/schemes.js'); - -module.exports = function (keyPair, options) { - var pkcs1Scheme = schemes.pkcs1.makeScheme(keyPair, options); - - return { - encrypt: function (buffer, usePrivate) { - var padding; - if (usePrivate) { - padding = constants.RSA_PKCS1_PADDING; - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - return crypto.privateEncrypt({ - key: options.rsaUtils.exportKey('private'), - padding: padding - }, buffer); - } else { - padding = constants.RSA_PKCS1_OAEP_PADDING; - if (options.encryptionScheme === 'pkcs1') { - padding = constants.RSA_PKCS1_PADDING; - } - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - - var data = buffer; - if (padding === constants.RSA_NO_PADDING) { - data = pkcs1Scheme.pkcs0pad(buffer); - } - - return crypto.publicEncrypt({ - key: options.rsaUtils.exportKey('public'), - padding: padding - }, data); - } - }, - - decrypt: function (buffer, usePublic) { - var padding; - if (usePublic) { - padding = constants.RSA_PKCS1_PADDING; - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - return crypto.publicDecrypt({ - key: options.rsaUtils.exportKey('public'), - padding: padding - }, buffer); - } else { - padding = constants.RSA_PKCS1_OAEP_PADDING; - if (options.encryptionScheme === 'pkcs1') { - padding = constants.RSA_PKCS1_PADDING; - } - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - var res = crypto.privateDecrypt({ - key: options.rsaUtils.exportKey('private'), - padding: padding - }, buffer); - - if (padding === constants.RSA_NO_PADDING) { - return pkcs1Scheme.pkcs0unpad(res); - } - return res; - } - } - }; -}; \ No newline at end of file diff --git a/src/encryptEngines/node12.js b/src/encryptEngines/node12.js deleted file mode 100644 index 86e5836..0000000 --- a/src/encryptEngines/node12.js +++ /dev/null @@ -1,56 +0,0 @@ -var crypto = require('crypto'); -var constants = require('constants'); -var schemes = require('../schemes/schemes.js'); - -module.exports = function (keyPair, options) { - var jsEngine = require('./js.js')(keyPair, options); - var pkcs1Scheme = schemes.pkcs1.makeScheme(keyPair, options); - - return { - encrypt: function (buffer, usePrivate) { - if (usePrivate) { - return jsEngine.encrypt(buffer, usePrivate); - } - var padding = constants.RSA_PKCS1_OAEP_PADDING; - if (options.encryptionScheme === 'pkcs1') { - padding = constants.RSA_PKCS1_PADDING; - } - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - - var data = buffer; - if (padding === constants.RSA_NO_PADDING) { - data = pkcs1Scheme.pkcs0pad(buffer); - } - - return crypto.publicEncrypt({ - key: options.rsaUtils.exportKey('public'), - padding: padding - }, data); - }, - - decrypt: function (buffer, usePublic) { - if (usePublic) { - return jsEngine.decrypt(buffer, usePublic); - } - var padding = constants.RSA_PKCS1_OAEP_PADDING; - if (options.encryptionScheme === 'pkcs1') { - padding = constants.RSA_PKCS1_PADDING; - } - if (options.encryptionSchemeOptions && options.encryptionSchemeOptions.padding) { - padding = options.encryptionSchemeOptions.padding; - } - - var res = crypto.privateDecrypt({ - key: options.rsaUtils.exportKey('private'), - padding: padding - }, buffer); - - if (padding === constants.RSA_NO_PADDING) { - return pkcs1Scheme.pkcs0unpad(res); - } - return res; - } - }; -}; \ No newline at end of file diff --git a/src/schemes/pkcs1.js b/src/schemes/pkcs1.js index 2f27a35..ffed005 100644 --- a/src/schemes/pkcs1.js +++ b/src/schemes/pkcs1.js @@ -4,7 +4,6 @@ var BigInteger = require('../libs/jsbn'); var crypt = require('crypto'); -var constants = require('constants'); var SIGN_INFO_HEAD = { md2: Buffer.from('3020300c06082a864886f70d020205000410', 'hex'), md5: Buffer.from('3020300c06082a864886f70d020505000410', 'hex'),