UNPKG

react-native-quick-crypto

Version:

A fast implementation of Node's `crypto` module written in C/C++ JSI

338 lines (329 loc) 11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { install: true, Buffer: true, Certificate: true, X509Certificate: true, getCurves: true, constants: true, subtle: true, isCryptoKeyPair: true }; Object.defineProperty(exports, "Buffer", { enumerable: true, get: function () { return _reactNativeBuffer.Buffer; } }); Object.defineProperty(exports, "Certificate", { enumerable: true, get: function () { return _certificate.Certificate; } }); Object.defineProperty(exports, "X509Certificate", { enumerable: true, get: function () { return _x509certificate.X509Certificate; } }); Object.defineProperty(exports, "constants", { enumerable: true, get: function () { return _constants.constants; } }); exports.default = void 0; Object.defineProperty(exports, "getCurves", { enumerable: true, get: function () { return _ec.getCurves; } }); exports.install = void 0; Object.defineProperty(exports, "isCryptoKeyPair", { enumerable: true, get: function () { return subtle.isCryptoKeyPair; } }); Object.defineProperty(exports, "subtle", { enumerable: true, get: function () { return subtle.subtle; } }); var _reactNativeBuffer = require("@craftzdog/react-native-buffer"); var _reactNativeQuickBase = require("react-native-quick-base64"); var argon2Module = _interopRequireWildcard(require("./argon2")); Object.keys(argon2Module).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === argon2Module[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return argon2Module[key]; } }); }); var keys = _interopRequireWildcard(require("./keys")); Object.keys(keys).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === keys[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return keys[key]; } }); }); var blake3 = _interopRequireWildcard(require("./blake3")); Object.keys(blake3).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === blake3[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return blake3[key]; } }); }); var cipher = _interopRequireWildcard(require("./cipher")); Object.keys(cipher).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === cipher[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return cipher[key]; } }); }); var ed = _interopRequireWildcard(require("./ed")); Object.keys(ed).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === ed[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return ed[key]; } }); }); var _hash = require("./hash"); Object.keys(_hash).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _hash[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _hash[key]; } }); }); var _hmac = require("./hmac"); Object.keys(_hmac).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _hmac[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _hmac[key]; } }); }); var hkdf = _interopRequireWildcard(require("./hkdf")); Object.keys(hkdf).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === hkdf[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return hkdf[key]; } }); }); var pbkdf2 = _interopRequireWildcard(require("./pbkdf2")); Object.keys(pbkdf2).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === pbkdf2[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return pbkdf2[key]; } }); }); var prime = _interopRequireWildcard(require("./prime")); Object.keys(prime).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === prime[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return prime[key]; } }); }); var scrypt = _interopRequireWildcard(require("./scrypt")); Object.keys(scrypt).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === scrypt[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return scrypt[key]; } }); }); var random = _interopRequireWildcard(require("./random")); Object.keys(random).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === random[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return random[key]; } }); }); var ecdh = _interopRequireWildcard(require("./ecdh")); Object.keys(ecdh).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === ecdh[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return ecdh[key]; } }); }); var dh = _interopRequireWildcard(require("./diffie-hellman")); Object.keys(dh).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === dh[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return dh[key]; } }); }); var mlkem = _interopRequireWildcard(require("./mlkem")); Object.keys(mlkem).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === mlkem[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return mlkem[key]; } }); }); var _certificate = require("./certificate"); var _x509certificate = require("./x509certificate"); var _ec = require("./ec"); var _constants = require("./constants"); var utils = _interopRequireWildcard(require("./utils")); Object.keys(utils).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === utils[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return utils[key]; } }); }); var subtle = _interopRequireWildcard(require("./subtle")); Object.keys(subtle).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === subtle[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return subtle[key]; } }); }); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } // polyfill imports // API imports // utils import /** * Loosely matches Node.js {crypto} with some unimplemented functionality. * See `docs/implementation-coverage.md` for status. */ const QuickCrypto = { ...argon2Module, ...keys, ...blake3, ...cipher, ...ed, ..._hash.hashExports, ..._hmac.hmacExports, ...hkdf, ...pbkdf2, ...prime, ...scrypt, ...random, ...ecdh, ...dh, ...mlkem, ...utils, ...subtle, Certificate: _certificate.Certificate, X509Certificate: _x509certificate.X509Certificate, getCurves: _ec.getCurves, constants: _constants.constants, Buffer: _reactNativeBuffer.Buffer }; /** * Optional. Patch global.crypto with react-native-quick-crypto and * global.Buffer with react-native-buffer. */ const install = () => { // @ts-expect-error copyBytesFrom and poolSizets are missing from react-native-buffer global.Buffer = _reactNativeBuffer.Buffer; // @ts-expect-error subtle isn't fully implemented and Cryptokey is missing global.crypto = QuickCrypto; // react-native-quick-base64 v3 no longer installs these globals on import. global.base64ToArrayBuffer = (s, removeLinebreaks) => (0, _reactNativeQuickBase.toByteArray)(s, removeLinebreaks).buffer; global.base64FromArrayBuffer = (b, urlSafe) => (0, _reactNativeQuickBase.fromByteArray)(new Uint8Array(b), urlSafe); }; // random, cipher, hash use nextTick exports.install = install; if (global.process == null) { // @ts-expect-error - process is not defined global.process = {}; } if (global.process.nextTick == null) { global.process.nextTick = setImmediate; } // exports var _default = exports.default = QuickCrypto; // Additional exports for CommonJS compatibility module.exports = QuickCrypto; module.exports.default = QuickCrypto; module.exports.install = install; //# sourceMappingURL=index.js.map