New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

keystore-idb

Package Overview
Dependencies
Maintainers
1
Versions
60
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keystore-idb - npm Package Compare versions

Comparing version 0.2.5 to 0.2.6

dist/lib/errors.js

23

dist/lib/config.js

@@ -50,4 +50,6 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var ecc_1 = require("./ecc");
var keys_1 = require("./ecc/keys");
var constants_1 = require("./constants");
var types_1 = require("./types");
var utils_1 = require("./utils");
exports.defaultConfig = {

@@ -72,3 +74,3 @@ type: constants_1.DEFAULT_CRYPTOSYSTEM,

if (!(maybeCfg === null || maybeCfg === void 0 ? void 0 : maybeCfg.type)) {
cfg.type = eccEnabled ? 'ecc' : 'rsa';
cfg.type = eccEnabled ? types_1.CryptoSystem.ECC : types_1.CryptoSystem.RSA;
}

@@ -85,3 +87,3 @@ return cfg;

switch (_a.label) {
case 0: return [4 /*yield*/, ecc_1.default.makeKey(constants_1.DEFAULT_ECC_CURVE, KeyUse.Read)];
case 0: return [4 /*yield*/, keys_1.default.makeKey(constants_1.DEFAULT_ECC_CURVE, types_1.KeyUse.Read)];
case 1:

@@ -92,3 +94,3 @@ keypair = _a.sent();

_a.trys.push([2, 4, , 5]);
return [4 /*yield*/, structuralClone(keypair)];
return [4 /*yield*/, utils_1.default.structuralClone(keypair)];
case 3:

@@ -106,18 +108,7 @@ _a.sent();

exports.eccEnabled = eccEnabled;
function structuralClone(obj) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve) {
var _a = new MessageChannel(), port1 = _a.port1, port2 = _a.port2;
port2.onmessage = function (ev) { return resolve(ev.data); };
port1.postMessage(obj);
})];
});
});
}
exports.default = {
defaultConfig: exports.defaultConfig,
normalize: normalize,
eccEnabled: eccEnabled
eccEnabled: eccEnabled,
};
//# sourceMappingURL=config.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var types_1 = require("./types");
exports.ECC_READ_ALG = 'ECDH';

@@ -9,6 +10,6 @@ exports.ECC_WRITE_ALG = 'ECDSA';

exports.DEFAULT_CRYPTOSYSTEM = 'ecc';
exports.DEFAULT_ECC_CURVE = 'P-256';
exports.DEFAULT_RSA_SIZE = 2048;
exports.DEFAULT_SYMM_ALG = 'AES-CTR';
exports.DEFAULT_HASH_ALG = 'SHA-256';
exports.DEFAULT_ECC_CURVE = types_1.ECC_Curve.P_256;
exports.DEFAULT_RSA_SIZE = types_1.RSA_Size.B2048;
exports.DEFAULT_SYMM_ALG = types_1.SymmAlg.AES_CTR;
exports.DEFAULT_HASH_ALG = types_1.HashAlg.SHA_256;
exports.DEFAULT_READ_KEY_NAME = 'read-key';

@@ -15,0 +16,0 @@ exports.DEFAULT_WRITE_KEY_NAME = 'write-key';

@@ -19,5 +19,7 @@ "use strict";

var operations_1 = require("./operations");
var keystore_1 = require("./keystore");
__export(require("./keys"));
__export(require("./operations"));
exports.default = __assign(__assign({}, keys_1.default), operations_1.default);
__export(require("./keystore"));
exports.default = __assign(__assign(__assign({}, keys_1.default), operations_1.default), keystore_1.default);
//# sourceMappingURL=index.js.map

@@ -40,3 +40,6 @@ "use strict";

var idb_1 = require("../idb");
var utils_1 = require("../utils");
var constants_1 = require("../constants");
var types_1 = require("../types");
var errors_1 = require("../errors");
function getKey(curve, keyName, use) {

@@ -47,3 +50,5 @@ return __awaiter(this, void 0, void 0, function () {

switch (_a.label) {
case 0: return [4 /*yield*/, idb_1.default.getKey(keyName)];
case 0:
errors_1.checkValidKeyUse(use);
return [4 /*yield*/, idb_1.default.getKey(keyName)];
case 1:

@@ -70,5 +75,6 @@ maybeKey = _a.sent();

return __generator(this, function (_a) {
alg = use === KeyUse.Read ? constants_1.ECC_READ_ALG : constants_1.ECC_WRITE_ALG;
uses = use === KeyUse.Read ? ['deriveKey', 'deriveBits'] : ['sign', 'verify'];
return [2 /*return*/, crypto.subtle.generateKey({ name: alg, namedCurve: curve }, false, uses)];
errors_1.checkValidKeyUse(use);
alg = use === types_1.KeyUse.Read ? constants_1.ECC_READ_ALG : constants_1.ECC_WRITE_ALG;
uses = use === types_1.KeyUse.Read ? ['deriveKey', 'deriveBits'] : ['sign', 'verify'];
return [2 /*return*/, window.crypto.subtle.generateKey({ name: alg, namedCurve: curve }, false, uses)];
});

@@ -78,6 +84,20 @@ });

exports.makeKey = makeKey;
function importPublicKey(hexKey, curve, use) {
return __awaiter(this, void 0, void 0, function () {
var alg, uses, buf;
return __generator(this, function (_a) {
errors_1.checkValidKeyUse(use);
alg = use === types_1.KeyUse.Read ? constants_1.ECC_READ_ALG : constants_1.ECC_WRITE_ALG;
uses = use === types_1.KeyUse.Read ? [] : ['verify'];
buf = utils_1.default.base64ToArrBuf(hexKey);
return [2 /*return*/, window.crypto.subtle.importKey('raw', buf, { name: alg, namedCurve: curve }, true, uses)];
});
});
}
exports.importPublicKey = importPublicKey;
exports.default = {
getKey: getKey,
makeKey: makeKey
makeKey: makeKey,
importPublicKey: importPublicKey
};
//# sourceMappingURL=keys.js.map

@@ -54,2 +54,3 @@ "use strict";

var utils_1 = require("../utils");
var types_1 = require("../types");
function init(maybeCfg) {

@@ -61,8 +62,8 @@ return __awaiter(this, void 0, void 0, function () {

case 0:
cfg = config_1.default.normalize(__assign(__assign({}, (maybeCfg || {})), { type: 'ecc' }));
cfg = config_1.default.normalize(__assign(__assign({}, (maybeCfg || {})), { type: types_1.CryptoSystem.ECC }));
curve = cfg.curve, readKeyName = cfg.readKeyName, writeKeyName = cfg.writeKeyName;
return [4 /*yield*/, keys_1.default.getKey(curve, readKeyName, KeyUse.Read)];
return [4 /*yield*/, keys_1.default.getKey(curve, readKeyName, types_1.KeyUse.Read)];
case 1:
readKey = _a.sent();
return [4 /*yield*/, keys_1.default.getKey(curve, writeKeyName, KeyUse.Write)];
return [4 /*yield*/, keys_1.default.getKey(curve, writeKeyName, types_1.KeyUse.Write)];
case 2:

@@ -99,4 +100,10 @@ writeKey = _a.sent();

return __awaiter(this, void 0, void 0, function () {
var pubkey;
return __generator(this, function (_a) {
return [2 /*return*/, operations_1.default.verifyBytes(utils_1.default.strToArrBuf(msg, charSize), utils_1.default.base64ToArrBuf(sig), publicKey, this.cfg.hashAlg)];
switch (_a.label) {
case 0: return [4 /*yield*/, keys_1.default.importPublicKey(publicKey, this.cfg.curve, types_1.KeyUse.Write)];
case 1:
pubkey = _a.sent();
return [2 /*return*/, operations_1.default.verifyBytes(utils_1.default.strToArrBuf(msg, charSize), utils_1.default.base64ToArrBuf(sig), pubkey, this.cfg.hashAlg)];
}
});

@@ -108,7 +115,10 @@ });

return __awaiter(this, void 0, void 0, function () {
var cipherText;
var pubkey, cipherText;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, operations_1.default.encryptBytes(utils_1.default.strToArrBuf(msg, charSize), this.readKey.privateKey, publicKey, this.cfg.symmAlg)];
case 0: return [4 /*yield*/, keys_1.default.importPublicKey(publicKey, this.cfg.curve, types_1.KeyUse.Read)];
case 1:
pubkey = _a.sent();
return [4 /*yield*/, operations_1.default.encryptBytes(utils_1.default.strToArrBuf(msg, charSize), this.readKey.privateKey, pubkey, this.cfg.symmAlg)];
case 2:
cipherText = _a.sent();

@@ -123,7 +133,10 @@ return [2 /*return*/, utils_1.default.arrBufToBase64(cipherText)];

return __awaiter(this, void 0, void 0, function () {
var msgBytes;
var pubkey, msgBytes;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, operations_1.default.decryptBytes(utils_1.default.base64ToArrBuf(cipherText), this.readKey.privateKey, publicKey, this.cfg.symmAlg)];
case 0: return [4 /*yield*/, keys_1.default.importPublicKey(publicKey, this.cfg.curve, types_1.KeyUse.Read)];
case 1:
pubkey = _a.sent();
return [4 /*yield*/, operations_1.default.decryptBytes(utils_1.default.base64ToArrBuf(cipherText), this.readKey.privateKey, pubkey, this.cfg.symmAlg)];
case 2:
msgBytes = _a.sent();

@@ -130,0 +143,0 @@ return [2 /*return*/, utils_1.default.arrBufToStr(msgBytes, charSize)];

@@ -60,3 +60,3 @@ "use strict";

return __generator(this, function (_a) {
return [2 /*return*/, crypto.subtle.deriveKey({ name: constants_1.ECC_READ_ALG, public: publicKey }, privateKey, { name: symmAlg, length: 256 }, false, ['encrypt', 'decrypt'])];
return [2 /*return*/, window.crypto.subtle.deriveKey({ name: constants_1.ECC_READ_ALG, public: publicKey }, privateKey, { name: symmAlg, length: 256 }, false, ['encrypt', 'decrypt'])];
});

@@ -74,3 +74,3 @@ });

cipherKey = _a.sent();
return [2 /*return*/, crypto.subtle.encrypt({ name: symmAlg,
return [2 /*return*/, window.crypto.subtle.encrypt({ name: symmAlg,
counter: new Uint8Array(16),

@@ -92,3 +92,3 @@ length: 128

cipherKey = _a.sent();
return [4 /*yield*/, crypto.subtle.encrypt({ name: symmAlg,
return [4 /*yield*/, window.crypto.subtle.decrypt({ name: symmAlg,
counter: new Uint8Array(16),

@@ -110,6 +110,6 @@ length: 128

switch (_a.label) {
case 0: return [4 /*yield*/, crypto.subtle.exportKey('raw', keypair.publicKey)];
case 0: return [4 /*yield*/, window.crypto.subtle.exportKey('raw', keypair.publicKey)];
case 1:
raw = _a.sent();
return [2 /*return*/, utils_1.default.arrBufToHex(raw)];
return [2 /*return*/, utils_1.default.arrBufToBase64(raw)];
}

@@ -116,0 +116,0 @@ });

@@ -39,17 +39,8 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var localforage_1 = require("localforage");
/* istanbul ignore next */
function putKey(id, keypair) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) {
callOnStore(function (store) {
try {
var putData = store.put({ id: id, keypair: keypair });
putData.onsuccess = resolve;
putData.onerror = reject;
}
catch (err) {
console.error(err);
}
});
})];
return [2 /*return*/, localforage_1.default.setItem(id, keypair)];
});

@@ -59,23 +50,7 @@ });

exports.putKey = putKey;
/* istanbul ignore next */
function getKey(id) {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) {
callOnStore(function (store) {
var getData = store.get(id);
getData.onsuccess = function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
if (getData.result && getData.result.keypair) {
return [2 /*return*/, resolve(getData.result.keypair)];
}
else {
return [2 /*return*/, resolve(undefined)];
}
return [2 /*return*/];
});
}); };
getData.onerror = reject;
});
})];
return [2 /*return*/, localforage_1.default.getItem(id)];
});

@@ -85,16 +60,12 @@ });

exports.getKey = getKey;
/* istanbul ignore next */
function clear() {
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) {
callOnStore(function (store) {
var req = store.clear();
req.onsuccess = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
resolve();
return [2 /*return*/];
}); }); };
req.onerror = reject;
});
})];
switch (_a.label) {
case 0: return [4 /*yield*/, localforage_1.default.clear()];
case 1:
_a.sent();
return [2 /*return*/];
}
});

@@ -104,36 +75,7 @@ });

exports.clear = clear;
// from https://gist.github.com/saulshanabrook/b74984677bccd08b028b30d9968623f5
function callOnStore(fn_) {
return __awaiter(this, void 0, void 0, function () {
var windowIDB, indexedDB, open;
return __generator(this, function (_a) {
windowIDB = window;
indexedDB = windowIDB.indexedDB || windowIDB.mozIndexedDB || windowIDB.webkitIndexedDB || windowIDB.msIndexedDB || windowIDB.shimIndexedDB;
open = indexedDB.open("MyDatabase", 1);
// Create the schema
open.onupgradeneeded = function () {
var db = open.result;
var store = db.createObjectStore("MyObjectStore", { keyPath: "id" });
};
open.onsuccess = function () {
// Start a new transaction
var db = open.result;
var tx = db.transaction("MyObjectStore", "readwrite");
var store = tx.objectStore("MyObjectStore");
fn_(store);
// Close the db when the transaction is done
tx.oncomplete = function () {
db.close();
};
};
return [2 /*return*/];
});
});
}
exports.callOnStore = callOnStore;
exports.default = {
putKey: putKey,
getKey: getKey,
clear: clear,
clear: clear
};
//# sourceMappingURL=idb.js.map
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var keystore_1 = require("./keystore");
exports.default = keystore_1.default;
var keystore_2 = require("./keystore");
exports.keystore = keystore_2.default;
var ecc_1 = require("./ecc");
exports.ecc = ecc_1.default;
var rsa_1 = require("./rsa");
exports.rsa = rsa_1.default;
var config_1 = require("./config");
exports.config = config_1.default;
var constants_1 = require("./constants");
exports.constants = constants_1.default;
var utils_1 = require("./utils");
exports.utils = utils_1.default;
var idb_1 = require("./idb");
exports.idb = idb_1.default;
var ecc = require("./ecc");
var rsa = require("./rsa");
var config = require("./config");
var constants = require("./constants");
var utils = require("./utils");
var idb = require("./idb");
var types = require("./types");
exports.default = __assign(__assign(__assign(__assign(__assign({ init: keystore_1.init,
clear: keystore_1.clear }, types), constants), config), utils), { ecc: ecc,
rsa: rsa,
idb: idb });
//# sourceMappingURL=index.js.map

@@ -43,2 +43,3 @@ "use strict";

var idb_1 = require("./idb");
var errors_1 = require("./errors");
function init(maybeCfg) {

@@ -53,14 +54,12 @@ return __awaiter(this, void 0, void 0, function () {

if (!eccEnabled && (maybeCfg === null || maybeCfg === void 0 ? void 0 : maybeCfg.type) === 'ecc') {
throw new Error("ECC is not enabled for this browser. Please use RSA instead.");
throw errors_1.ECCNotEnabled;
}
cfg = config_1.default.normalize(maybeCfg, eccEnabled);
errors_1.checkValidCryptoSystem(cfg.type);
if (cfg.type === 'ecc') {
return [2 /*return*/, keystore_1.default.init(cfg)];
}
else if (cfg.type === 'rsa') {
else {
return [2 /*return*/, keystore_2.default.init(cfg)];
}
else {
throw new Error("Cryptosystem not supported. Please use ECC or RSA");
}
return [2 /*return*/];

@@ -67,0 +66,0 @@ }

@@ -19,5 +19,7 @@ "use strict";

var operations_1 = require("./operations");
var keystore_1 = require("./keystore");
__export(require("./keys"));
__export(require("./operations"));
exports.default = __assign(__assign({}, keys_1.default), operations_1.default);
__export(require("./keystore"));
exports.default = __assign(__assign(__assign({}, keys_1.default), operations_1.default), keystore_1.default);
//# sourceMappingURL=index.js.map

@@ -41,2 +41,5 @@ "use strict";

var constants_1 = require("../constants");
var types_1 = require("../types");
var utils_1 = require("../utils");
var errors_1 = require("../errors");
function getKey(size, hashAlg, keyName, use) {

@@ -47,3 +50,5 @@ return __awaiter(this, void 0, void 0, function () {

switch (_a.label) {
case 0: return [4 /*yield*/, idb_1.default.getKey(keyName)];
case 0:
errors_1.checkValidKeyUse(use);
return [4 /*yield*/, idb_1.default.getKey(keyName)];
case 1:

@@ -70,8 +75,9 @@ maybeKey = _a.sent();

return __generator(this, function (_a) {
alg = use === KeyUse.Read ? constants_1.RSA_READ_ALG : constants_1.RSA_WRITE_ALG;
uses = use === KeyUse.Read ? ['encrypt', 'decrypt'] : ['sign', 'verify'];
return [2 /*return*/, crypto.subtle.generateKey({
errors_1.checkValidKeyUse(use);
alg = use === types_1.KeyUse.Read ? constants_1.RSA_READ_ALG : constants_1.RSA_WRITE_ALG;
uses = use === types_1.KeyUse.Read ? ['encrypt', 'decrypt'] : ['sign', 'verify'];
return [2 /*return*/, window.crypto.subtle.generateKey({
name: alg,
modulusLength: size,
publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
publicExponent: utils_1.default.publicExponent(),
hash: { name: hashAlg }

@@ -83,6 +89,25 @@ }, false, uses)];

exports.makeKey = makeKey;
function importPublicKey(hexKey, hashAlg, use) {
return __awaiter(this, void 0, void 0, function () {
var alg, uses, buf;
return __generator(this, function (_a) {
errors_1.checkValidKeyUse(use);
alg = use === types_1.KeyUse.Read ? constants_1.RSA_READ_ALG : constants_1.RSA_WRITE_ALG;
uses = use === types_1.KeyUse.Read ? ['encrypt'] : ['verify'];
buf = utils_1.default.base64ToArrBuf(stripKeyHeader(hexKey));
return [2 /*return*/, window.crypto.subtle.importKey('spki', buf, { name: alg, hash: { name: hashAlg } }, true, uses)];
});
});
}
exports.importPublicKey = importPublicKey;
function stripKeyHeader(hexKey) {
return hexKey
.replace('-----BEGIN PUBLIC KEY-----\n', '')
.replace('\n-----END PUBLIC KEY-----', '');
}
exports.default = {
getKey: getKey,
makeKey: makeKey
makeKey: makeKey,
importPublicKey: importPublicKey
};
//# sourceMappingURL=keys.js.map

@@ -54,2 +54,3 @@ "use strict";

var utils_1 = require("../utils");
var types_1 = require("../types");
function init(maybeCfg) {

@@ -61,8 +62,8 @@ return __awaiter(this, void 0, void 0, function () {

case 0:
cfg = config_1.default.normalize(__assign(__assign({}, (maybeCfg || {})), { type: 'rsa' }));
cfg = config_1.default.normalize(__assign(__assign({}, (maybeCfg || {})), { type: types_1.CryptoSystem.RSA }));
rsaSize = cfg.rsaSize, hashAlg = cfg.hashAlg, readKeyName = cfg.readKeyName, writeKeyName = cfg.writeKeyName;
return [4 /*yield*/, keys_1.default.getKey(rsaSize, hashAlg, readKeyName, KeyUse.Read)];
return [4 /*yield*/, keys_1.default.getKey(rsaSize, hashAlg, readKeyName, types_1.KeyUse.Read)];
case 1:
readKey = _a.sent();
return [4 /*yield*/, keys_1.default.getKey(rsaSize, hashAlg, writeKeyName, KeyUse.Write)];
return [4 /*yield*/, keys_1.default.getKey(rsaSize, hashAlg, writeKeyName, types_1.KeyUse.Write)];
case 2:

@@ -99,4 +100,10 @@ writeKey = _a.sent();

return __awaiter(this, void 0, void 0, function () {
var pubkey;
return __generator(this, function (_a) {
return [2 /*return*/, operations_1.default.verifyBytes(utils_1.default.strToArrBuf(msg, charSize), utils_1.default.base64ToArrBuf(sig), publicKey)];
switch (_a.label) {
case 0: return [4 /*yield*/, keys_1.default.importPublicKey(publicKey, this.cfg.hashAlg, types_1.KeyUse.Write)];
case 1:
pubkey = _a.sent();
return [2 /*return*/, operations_1.default.verifyBytes(utils_1.default.strToArrBuf(msg, charSize), utils_1.default.base64ToArrBuf(sig), pubkey)];
}
});

@@ -108,7 +115,10 @@ });

return __awaiter(this, void 0, void 0, function () {
var cipherText;
var pubkey, cipherText;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, operations_1.default.encryptBytes(utils_1.default.strToArrBuf(msg, charSize), publicKey)];
case 0: return [4 /*yield*/, keys_1.default.importPublicKey(publicKey, this.cfg.hashAlg, types_1.KeyUse.Read)];
case 1:
pubkey = _a.sent();
return [4 /*yield*/, operations_1.default.encryptBytes(utils_1.default.strToArrBuf(msg, charSize), pubkey)];
case 2:
cipherText = _a.sent();

@@ -120,3 +130,4 @@ return [2 /*return*/, utils_1.default.arrBufToBase64(cipherText)];

};
RSAKeyStore.prototype.decrypt = function (cipherText, publicKey, charSize) {
RSAKeyStore.prototype.decrypt = function (cipherText, publicKey, //unused param so that keystore interfaces match
charSize) {
if (charSize === void 0) { charSize = 16; }

@@ -123,0 +134,0 @@ return __awaiter(this, void 0, void 0, function () {

@@ -60,3 +60,3 @@ "use strict";

return __generator(this, function (_a) {
return [2 /*return*/, crypto.subtle.encrypt({ name: constants_1.RSA_READ_ALG }, publicKey, data)];
return [2 /*return*/, window.crypto.subtle.encrypt({ name: constants_1.RSA_READ_ALG }, publicKey, data)];
});

@@ -69,3 +69,3 @@ });

return __generator(this, function (_a) {
return [2 /*return*/, crypto.subtle.decrypt({ name: constants_1.RSA_READ_ALG }, privateKey, cipherText)];
return [2 /*return*/, window.crypto.subtle.decrypt({ name: constants_1.RSA_READ_ALG }, privateKey, cipherText)];
});

@@ -80,3 +80,3 @@ });

switch (_a.label) {
case 0: return [4 /*yield*/, crypto.subtle.exportKey('spki', keypair.publicKey)];
case 0: return [4 /*yield*/, window.crypto.subtle.exportKey('spki', keypair.publicKey)];
case 1:

@@ -83,0 +83,0 @@ spki = _a.sent();

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -42,2 +78,19 @@ function arrBufToStr(buf, charSize) {

exports.base64ToArrBuf = base64ToArrBuf;
function publicExponent() {
return new Uint8Array([0x01, 0x00, 0x01]);
}
exports.publicExponent = publicExponent;
/* istanbul ignore next */
function structuralClone(obj) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve) {
var _a = new MessageChannel(), port1 = _a.port1, port2 = _a.port2;
port2.onmessage = function (ev) { return resolve(ev.data); };
port1.postMessage(obj);
})];
});
});
}
exports.structuralClone = structuralClone;
exports.default = {

@@ -49,4 +102,6 @@ arrBufToStr: arrBufToStr,

hexToArrBuf: hexToArrBuf,
base64ToArrBuf: base64ToArrBuf
base64ToArrBuf: base64ToArrBuf,
publicExponent: publicExponent,
structuralClone: structuralClone
};
//# sourceMappingURL=utils.js.map

@@ -11,3 +11,3 @@ import { KeyStore, PartialConfig, Config, CharSize } from '../types';

encrypt(msg: string, publicKey: string, charSize?: CharSize): Promise<string>;
decrypt(cipherText: string, publicKey: string, charSize?: CharSize): Promise<String>;
decrypt(cipherText: string, publicKey: string, charSize?: CharSize): Promise<string>;
publicReadKey(): Promise<string>;

@@ -14,0 +14,0 @@ publicWriteKey(): Promise<string>;

@@ -12,3 +12,3 @@ import { KeyStore, PartialConfig, Config, CharSize } from '../types';

decrypt(cipherText: string, publicKey?: string, //unused param so that keystore interfaces match
charSize?: CharSize): Promise<String>;
charSize?: CharSize): Promise<string>;
publicReadKey(): Promise<string>;

@@ -15,0 +15,0 @@ publicWriteKey(): Promise<string>;

@@ -5,3 +5,3 @@ export declare type CipherText = ArrayBuffer;

export declare type PrivateKey = CryptoKey;
export declare type Config = {
export interface Config {
type: CryptoSystem;

@@ -14,4 +14,4 @@ curve: ECC_Curve;

writeKeyName: string;
};
export declare type PartialConfig = {
}
export interface PartialConfig {
type?: CryptoSystem;

@@ -24,3 +24,3 @@ curve?: ECC_Curve;

writeKeyName?: string;
};
}
export declare enum CryptoSystem {

@@ -59,3 +59,3 @@ ECC = "ecc",

}
export declare type KeyStore = {
export interface KeyStore {
cfg: Config;

@@ -67,5 +67,5 @@ readKey: CryptoKeyPair;

encrypt(msg: string, publicKey: string, charSize?: CharSize): Promise<string>;
decrypt(cipherText: string, publicKey: string, charSize?: CharSize): Promise<String>;
decrypt(cipherText: string, publicKey: string, charSize?: CharSize): Promise<string>;
publicReadKey(): Promise<string>;
publicWriteKey(): Promise<string>;
};
}
{
"name": "keystore-idb",
"version": "0.2.5",
"version": "0.2.6",
"description": "",

@@ -5,0 +5,0 @@ "keywords": [],

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc