react-native-quick-crypto 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +16 -0
- package/cpp/argon2/HybridArgon2.cpp +103 -0
- package/cpp/argon2/HybridArgon2.hpp +32 -0
- package/cpp/certificate/HybridCertificate.cpp +42 -0
- package/cpp/certificate/HybridCertificate.hpp +16 -0
- package/cpp/cipher/CCMCipher.cpp +4 -1
- package/cpp/cipher/ChaCha20Cipher.cpp +3 -1
- package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +5 -5
- package/cpp/cipher/ChaCha20Poly1305Cipher.hpp +1 -2
- package/cpp/cipher/HybridCipher.cpp +68 -1
- package/cpp/cipher/HybridCipher.hpp +6 -0
- package/cpp/cipher/HybridRsaCipher.cpp +0 -13
- package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +7 -5
- package/cpp/cipher/XChaCha20Poly1305Cipher.hpp +1 -2
- package/cpp/cipher/XSalsa20Cipher.cpp +4 -0
- package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +7 -5
- package/cpp/cipher/XSalsa20Poly1305Cipher.hpp +1 -2
- package/cpp/dh/HybridDhKeyPair.cpp +179 -0
- package/cpp/dh/HybridDhKeyPair.hpp +37 -0
- package/cpp/dsa/HybridDsaKeyPair.cpp +128 -0
- package/cpp/dsa/HybridDsaKeyPair.hpp +32 -0
- package/cpp/ecdh/HybridECDH.cpp +42 -120
- package/cpp/ecdh/HybridECDH.hpp +1 -0
- package/cpp/keys/HybridKeyObjectHandle.cpp +150 -128
- package/cpp/keys/HybridKeyObjectHandle.hpp +6 -3
- package/cpp/keys/KeyObjectData.hpp +2 -0
- package/cpp/kmac/HybridKmac.cpp +83 -0
- package/cpp/kmac/HybridKmac.hpp +31 -0
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +11 -20
- package/cpp/mldsa/HybridMlDsaKeyPair.hpp +4 -2
- package/cpp/mlkem/HybridMlKemKeyPair.cpp +319 -0
- package/cpp/mlkem/HybridMlKemKeyPair.hpp +48 -0
- package/cpp/prime/HybridPrime.cpp +81 -0
- package/cpp/prime/HybridPrime.hpp +20 -0
- package/cpp/sign/SignUtils.hpp +9 -26
- package/cpp/utils/QuickCryptoUtils.cpp +44 -0
- package/cpp/utils/QuickCryptoUtils.hpp +39 -0
- package/cpp/x509/HybridX509Certificate.cpp +174 -0
- package/cpp/x509/HybridX509Certificate.hpp +51 -0
- package/lib/commonjs/argon2.js +39 -0
- package/lib/commonjs/argon2.js.map +1 -0
- package/lib/commonjs/certificate.js +35 -0
- package/lib/commonjs/certificate.js.map +1 -0
- package/lib/commonjs/cipher.js +23 -2
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dhKeyPair.js +109 -0
- package/lib/commonjs/dhKeyPair.js.map +1 -0
- package/lib/commonjs/dsa.js +92 -0
- package/lib/commonjs/dsa.js.map +1 -0
- package/lib/commonjs/ec.js +18 -18
- package/lib/commonjs/ec.js.map +1 -1
- package/lib/commonjs/ecdh.js +37 -0
- package/lib/commonjs/ecdh.js.map +1 -1
- package/lib/commonjs/ed.js +9 -9
- package/lib/commonjs/ed.js.map +1 -1
- package/lib/commonjs/hash.js +17 -12
- package/lib/commonjs/hash.js.map +1 -1
- package/lib/commonjs/hkdf.js.map +1 -1
- package/lib/commonjs/index.js +57 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +11 -9
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/keys/generateKeyPair.js +11 -0
- package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
- package/lib/commonjs/keys/index.js +24 -0
- package/lib/commonjs/keys/index.js.map +1 -1
- package/lib/commonjs/keys/signVerify.js +0 -2
- package/lib/commonjs/keys/signVerify.js.map +1 -1
- package/lib/commonjs/mlkem.js +219 -0
- package/lib/commonjs/mlkem.js.map +1 -0
- package/lib/commonjs/pbkdf2.js +18 -1
- package/lib/commonjs/pbkdf2.js.map +1 -1
- package/lib/commonjs/prime.js +84 -0
- package/lib/commonjs/prime.js.map +1 -0
- package/lib/commonjs/rsa.js +7 -7
- package/lib/commonjs/rsa.js.map +1 -1
- package/lib/commonjs/specs/argon2.nitro.js +6 -0
- package/lib/commonjs/specs/argon2.nitro.js.map +1 -0
- package/lib/commonjs/specs/certificate.nitro.js +6 -0
- package/lib/commonjs/specs/certificate.nitro.js.map +1 -0
- package/lib/commonjs/specs/dhKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/dsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/dsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/kmac.nitro.js +6 -0
- package/lib/commonjs/specs/kmac.nitro.js.map +1 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/specs/prime.nitro.js +6 -0
- package/lib/commonjs/specs/prime.nitro.js.map +1 -0
- package/lib/commonjs/specs/x509certificate.nitro.js +6 -0
- package/lib/commonjs/specs/x509certificate.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +385 -114
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/conversion.js +3 -3
- package/lib/commonjs/utils/conversion.js.map +1 -1
- package/lib/commonjs/utils/hashnames.js +31 -0
- package/lib/commonjs/utils/hashnames.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/commonjs/x509certificate.js +189 -0
- package/lib/commonjs/x509certificate.js.map +1 -0
- package/lib/module/argon2.js +34 -0
- package/lib/module/argon2.js.map +1 -0
- package/lib/module/certificate.js +30 -0
- package/lib/module/certificate.js.map +1 -0
- package/lib/module/cipher.js +23 -3
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dhKeyPair.js +102 -0
- package/lib/module/dhKeyPair.js.map +1 -0
- package/lib/module/dsa.js +85 -0
- package/lib/module/dsa.js.map +1 -0
- package/lib/module/ec.js +6 -6
- package/lib/module/ec.js.map +1 -1
- package/lib/module/ecdh.js +37 -0
- package/lib/module/ecdh.js.map +1 -1
- package/lib/module/ed.js +1 -1
- package/lib/module/ed.js.map +1 -1
- package/lib/module/hash.js +17 -12
- package/lib/module/hash.js.map +1 -1
- package/lib/module/hkdf.js.map +1 -1
- package/lib/module/index.js +15 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +11 -9
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/keys/generateKeyPair.js +11 -0
- package/lib/module/keys/generateKeyPair.js.map +1 -1
- package/lib/module/keys/index.js +25 -1
- package/lib/module/keys/index.js.map +1 -1
- package/lib/module/keys/signVerify.js +0 -2
- package/lib/module/keys/signVerify.js.map +1 -1
- package/lib/module/mlkem.js +211 -0
- package/lib/module/mlkem.js.map +1 -0
- package/lib/module/pbkdf2.js +18 -1
- package/lib/module/pbkdf2.js.map +1 -1
- package/lib/module/prime.js +77 -0
- package/lib/module/prime.js.map +1 -0
- package/lib/module/rsa.js +1 -1
- package/lib/module/rsa.js.map +1 -1
- package/lib/module/specs/argon2.nitro.js +4 -0
- package/lib/module/specs/argon2.nitro.js.map +1 -0
- package/lib/module/specs/certificate.nitro.js +4 -0
- package/lib/module/specs/certificate.nitro.js.map +1 -0
- package/lib/module/specs/dhKeyPair.nitro.js +4 -0
- package/lib/module/specs/dhKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/dsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/dsaKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/kmac.nitro.js +4 -0
- package/lib/module/specs/kmac.nitro.js.map +1 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js +4 -0
- package/lib/module/specs/mlKemKeyPair.nitro.js.map +1 -0
- package/lib/module/specs/prime.nitro.js +4 -0
- package/lib/module/specs/prime.nitro.js.map +1 -0
- package/lib/module/specs/x509certificate.nitro.js +4 -0
- package/lib/module/specs/x509certificate.nitro.js.map +1 -0
- package/lib/module/subtle.js +386 -116
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/conversion.js +3 -4
- package/lib/module/utils/conversion.js.map +1 -1
- package/lib/module/utils/hashnames.js +31 -0
- package/lib/module/utils/hashnames.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/module/x509certificate.js +184 -0
- package/lib/module/x509certificate.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/argon2.d.ts +16 -0
- package/lib/typescript/argon2.d.ts.map +1 -0
- package/lib/typescript/certificate.d.ts +8 -0
- package/lib/typescript/certificate.d.ts.map +1 -0
- package/lib/typescript/cipher.d.ts +15 -0
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts +19 -0
- package/lib/typescript/dhKeyPair.d.ts.map +1 -0
- package/lib/typescript/dsa.d.ts +19 -0
- package/lib/typescript/dsa.d.ts.map +1 -0
- package/lib/typescript/ec.d.ts +1 -1
- package/lib/typescript/ec.d.ts.map +1 -1
- package/lib/typescript/ecdh.d.ts +3 -0
- package/lib/typescript/ecdh.d.ts.map +1 -1
- package/lib/typescript/ed.d.ts +1 -1
- package/lib/typescript/ed.d.ts.map +1 -1
- package/lib/typescript/hash.d.ts.map +1 -1
- package/lib/typescript/hkdf.d.ts +2 -6
- package/lib/typescript/hkdf.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +32 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +7 -5
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
- package/lib/typescript/keys/index.d.ts +2 -2
- package/lib/typescript/keys/index.d.ts.map +1 -1
- package/lib/typescript/keys/signVerify.d.ts.map +1 -1
- package/lib/typescript/mlkem.d.ts +30 -0
- package/lib/typescript/mlkem.d.ts.map +1 -0
- package/lib/typescript/pbkdf2.d.ts +2 -2
- package/lib/typescript/pbkdf2.d.ts.map +1 -1
- package/lib/typescript/prime.d.ts +19 -0
- package/lib/typescript/prime.d.ts.map +1 -0
- package/lib/typescript/rsa.d.ts +1 -1
- package/lib/typescript/rsa.d.ts.map +1 -1
- package/lib/typescript/specs/argon2.nitro.d.ts +9 -0
- package/lib/typescript/specs/argon2.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/certificate.nitro.d.ts +10 -0
- package/lib/typescript/specs/certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/cipher.nitro.d.ts +9 -0
- package/lib/typescript/specs/cipher.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts +14 -0
- package/lib/typescript/specs/dhKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts +13 -0
- package/lib/typescript/specs/dsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts +1 -0
- package/lib/typescript/specs/ecdh.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +1 -0
- package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
- package/lib/typescript/specs/kmac.nitro.d.ts +10 -0
- package/lib/typescript/specs/kmac.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts +18 -0
- package/lib/typescript/specs/mlKemKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/prime.nitro.d.ts +11 -0
- package/lib/typescript/specs/prime.nitro.d.ts.map +1 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts +34 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +12 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/conversion.d.ts.map +1 -1
- package/lib/typescript/utils/hashnames.d.ts +1 -1
- package/lib/typescript/utils/hashnames.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +25 -9
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/lib/typescript/x509certificate.d.ts +64 -0
- package/lib/typescript/x509certificate.d.ts.map +1 -0
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +8 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +80 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +80 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +12 -0
- package/nitrogen/generated/shared/c++/CipherInfo.hpp +104 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.cpp +22 -0
- package/nitrogen/generated/shared/c++/HybridArgon2Spec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridCertificateSpec.hpp +64 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridCipherSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.cpp +27 -0
- package/nitrogen/generated/shared/c++/HybridDhKeyPairSpec.hpp +69 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.cpp +26 -0
- package/nitrogen/generated/shared/c++/HybridDsaKeyPairSpec.hpp +68 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridECDHSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.cpp +23 -0
- package/nitrogen/generated/shared/c++/HybridKmacSpec.hpp +66 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.cpp +31 -0
- package/nitrogen/generated/shared/c++/HybridMlKemKeyPairSpec.hpp +74 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.cpp +24 -0
- package/nitrogen/generated/shared/c++/HybridPrimeSpec.hpp +67 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.hpp +96 -0
- package/package.json +4 -1
- package/src/argon2.ts +83 -0
- package/src/certificate.ts +41 -0
- package/src/cipher.ts +41 -3
- package/src/dhKeyPair.ts +156 -0
- package/src/dsa.ts +129 -0
- package/src/ec.ts +9 -9
- package/src/ecdh.ts +59 -0
- package/src/ed.ts +2 -2
- package/src/hash.ts +34 -11
- package/src/hkdf.ts +2 -7
- package/src/index.ts +16 -0
- package/src/keys/classes.ts +26 -14
- package/src/keys/generateKeyPair.ts +14 -0
- package/src/keys/index.ts +37 -2
- package/src/keys/signVerify.ts +0 -5
- package/src/mlkem.ts +350 -0
- package/src/pbkdf2.ts +34 -5
- package/src/prime.ts +134 -0
- package/src/rsa.ts +1 -1
- package/src/specs/argon2.nitro.ts +29 -0
- package/src/specs/certificate.nitro.ts +8 -0
- package/src/specs/cipher.nitro.ts +14 -0
- package/src/specs/dhKeyPair.nitro.ts +14 -0
- package/src/specs/dsaKeyPair.nitro.ts +13 -0
- package/src/specs/ecdh.nitro.ts +1 -0
- package/src/specs/keyObjectHandle.nitro.ts +5 -0
- package/src/specs/kmac.nitro.ts +12 -0
- package/src/specs/mlKemKeyPair.nitro.ts +32 -0
- package/src/specs/prime.nitro.ts +18 -0
- package/src/specs/x509certificate.nitro.ts +38 -0
- package/src/subtle.ts +821 -136
- package/src/utils/conversion.ts +10 -4
- package/src/utils/hashnames.ts +33 -2
- package/src/utils/types.ts +64 -8
- package/src/x509certificate.ts +277 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
4
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
5
|
+
import { binaryLikeToArrayBuffer } from './utils';
|
|
6
|
+
let native;
|
|
7
|
+
function getNative() {
|
|
8
|
+
if (native == null) {
|
|
9
|
+
native = NitroModules.createHybridObject('Argon2');
|
|
10
|
+
}
|
|
11
|
+
return native;
|
|
12
|
+
}
|
|
13
|
+
const ARGON2_VERSION = 0x13; // v1.3
|
|
14
|
+
|
|
15
|
+
function validateAlgorithm(algorithm) {
|
|
16
|
+
if (algorithm !== 'argon2d' && algorithm !== 'argon2i' && algorithm !== 'argon2id') {
|
|
17
|
+
throw new TypeError(`Unknown argon2 algorithm: ${algorithm}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function toAB(value) {
|
|
21
|
+
return binaryLikeToArrayBuffer(value);
|
|
22
|
+
}
|
|
23
|
+
export function argon2Sync(algorithm, params) {
|
|
24
|
+
validateAlgorithm(algorithm);
|
|
25
|
+
const version = params.version ?? ARGON2_VERSION;
|
|
26
|
+
const result = getNative().hashSync(algorithm, toAB(params.message), toAB(params.nonce), params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined);
|
|
27
|
+
return Buffer.from(result);
|
|
28
|
+
}
|
|
29
|
+
export function argon2(algorithm, params, callback) {
|
|
30
|
+
validateAlgorithm(algorithm);
|
|
31
|
+
const version = params.version ?? ARGON2_VERSION;
|
|
32
|
+
getNative().hash(algorithm, toAB(params.message), toAB(params.nonce), params.parallelism, params.tagLength, params.memory, params.passes, version, params.secret ? toAB(params.secret) : undefined, params.associatedData ? toAB(params.associatedData) : undefined).then(ab => callback(null, Buffer.from(ab))).catch(err => callback(err, Buffer.alloc(0)));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=argon2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","binaryLikeToArrayBuffer","native","getNative","createHybridObject","ARGON2_VERSION","validateAlgorithm","algorithm","TypeError","toAB","value","argon2Sync","params","version","result","hashSync","message","nonce","parallelism","tagLength","memory","passes","secret","undefined","associatedData","from","argon2","callback","hash","then","ab","catch","err","alloc"],"sourceRoot":"../../src","sources":["argon2.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,gCAAgC;AACvD,SAASC,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,uBAAuB,QAAQ,SAAS;AAGjD,IAAIC,MAAoB;AACxB,SAASC,SAASA,CAAA,EAAiB;EACjC,IAAID,MAAM,IAAI,IAAI,EAAE;IAClBA,MAAM,GAAGF,YAAY,CAACI,kBAAkB,CAAe,QAAQ,CAAC;EAClE;EACA,OAAOF,MAAM;AACf;AAcA,MAAMG,cAAc,GAAG,IAAI,CAAC,CAAC;;AAE7B,SAASC,iBAAiBA,CAACC,SAAiB,EAAQ;EAClD,IACEA,SAAS,KAAK,SAAS,IACvBA,SAAS,KAAK,SAAS,IACvBA,SAAS,KAAK,UAAU,EACxB;IACA,MAAM,IAAIC,SAAS,CAAC,6BAA6BD,SAAS,EAAE,CAAC;EAC/D;AACF;AAEA,SAASE,IAAIA,CAACC,KAAiB,EAAe;EAC5C,OAAOT,uBAAuB,CAACS,KAAK,CAAC;AACvC;AAEA,OAAO,SAASC,UAAUA,CAACJ,SAAiB,EAAEK,MAAoB,EAAU;EAC1EN,iBAAiB,CAACC,SAAS,CAAC;EAC5B,MAAMM,OAAO,GAAGD,MAAM,CAACC,OAAO,IAAIR,cAAc;EAChD,MAAMS,MAAM,GAAGX,SAAS,CAAC,CAAC,CAACY,QAAQ,CACjCR,SAAS,EACTE,IAAI,CAACG,MAAM,CAACI,OAAO,CAAC,EACpBP,IAAI,CAACG,MAAM,CAACK,KAAK,CAAC,EAClBL,MAAM,CAACM,WAAW,EAClBN,MAAM,CAACO,SAAS,EAChBP,MAAM,CAACQ,MAAM,EACbR,MAAM,CAACS,MAAM,EACbR,OAAO,EACPD,MAAM,CAACU,MAAM,GAAGb,IAAI,CAACG,MAAM,CAACU,MAAM,CAAC,GAAGC,SAAS,EAC/CX,MAAM,CAACY,cAAc,GAAGf,IAAI,CAACG,MAAM,CAACY,cAAc,CAAC,GAAGD,SACxD,CAAC;EACD,OAAOxB,MAAM,CAAC0B,IAAI,CAACX,MAAM,CAAC;AAC5B;AAEA,OAAO,SAASY,MAAMA,CACpBnB,SAAiB,EACjBK,MAAoB,EACpBe,QAAqD,EAC/C;EACNrB,iBAAiB,CAACC,SAAS,CAAC;EAC5B,MAAMM,OAAO,GAAGD,MAAM,CAACC,OAAO,IAAIR,cAAc;EAChDF,SAAS,CAAC,CAAC,CACRyB,IAAI,CACHrB,SAAS,EACTE,IAAI,CAACG,MAAM,CAACI,OAAO,CAAC,EACpBP,IAAI,CAACG,MAAM,CAACK,KAAK,CAAC,EAClBL,MAAM,CAACM,WAAW,EAClBN,MAAM,CAACO,SAAS,EAChBP,MAAM,CAACQ,MAAM,EACbR,MAAM,CAACS,MAAM,EACbR,OAAO,EACPD,MAAM,CAACU,MAAM,GAAGb,IAAI,CAACG,MAAM,CAACU,MAAM,CAAC,GAAGC,SAAS,EAC/CX,MAAM,CAACY,cAAc,GAAGf,IAAI,CAACG,MAAM,CAACY,cAAc,CAAC,GAAGD,SACxD,CAAC,CACAM,IAAI,CAACC,EAAE,IAAIH,QAAQ,CAAC,IAAI,EAAE5B,MAAM,CAAC0B,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC,CAC3CC,KAAK,CAAEC,GAAU,IAAKL,QAAQ,CAACK,GAAG,EAAEjC,MAAM,CAACkC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { binaryLikeToArrayBuffer } from './utils';
|
|
6
|
+
let native;
|
|
7
|
+
function getNative() {
|
|
8
|
+
if (native == null) {
|
|
9
|
+
native = NitroModules.createHybridObject('Certificate');
|
|
10
|
+
}
|
|
11
|
+
return native;
|
|
12
|
+
}
|
|
13
|
+
function toArrayBuffer(spkac, encoding) {
|
|
14
|
+
if (typeof spkac === 'string') {
|
|
15
|
+
return binaryLikeToArrayBuffer(spkac, encoding || 'utf8');
|
|
16
|
+
}
|
|
17
|
+
return binaryLikeToArrayBuffer(spkac);
|
|
18
|
+
}
|
|
19
|
+
export class Certificate {
|
|
20
|
+
static exportChallenge(spkac, encoding) {
|
|
21
|
+
return Buffer.from(getNative().exportChallenge(toArrayBuffer(spkac, encoding)));
|
|
22
|
+
}
|
|
23
|
+
static exportPublicKey(spkac, encoding) {
|
|
24
|
+
return Buffer.from(getNative().exportPublicKey(toArrayBuffer(spkac, encoding)));
|
|
25
|
+
}
|
|
26
|
+
static verifySpkac(spkac, encoding) {
|
|
27
|
+
return getNative().verifySpkac(toArrayBuffer(spkac, encoding));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=certificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","binaryLikeToArrayBuffer","native","getNative","createHybridObject","toArrayBuffer","spkac","encoding","Certificate","exportChallenge","from","exportPublicKey","verifySpkac"],"sourceRoot":"../../src","sources":["certificate.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AACzD,SAASC,MAAM,QAAQ,gCAAgC;AAGvD,SAASC,uBAAuB,QAAQ,SAAS;AAEjD,IAAIC,MAAyB;AAC7B,SAASC,SAASA,CAAA,EAAsB;EACtC,IAAID,MAAM,IAAI,IAAI,EAAE;IAClBA,MAAM,GAAGH,YAAY,CAACK,kBAAkB,CAAoB,aAAa,CAAC;EAC5E;EACA,OAAOF,MAAM;AACf;AAEA,SAASG,aAAaA,CACpBC,KAAiB,EACjBC,QAAyB,EACZ;EACb,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOL,uBAAuB,CAACK,KAAK,EAAEC,QAAQ,IAAI,MAAM,CAAC;EAC3D;EACA,OAAON,uBAAuB,CAACK,KAAK,CAAC;AACvC;AAEA,OAAO,MAAME,WAAW,CAAC;EACvB,OAAOC,eAAeA,CAACH,KAAiB,EAAEC,QAAyB,EAAU;IAC3E,OAAOP,MAAM,CAACU,IAAI,CAChBP,SAAS,CAAC,CAAC,CAACM,eAAe,CAACJ,aAAa,CAACC,KAAK,EAAEC,QAAQ,CAAC,CAC5D,CAAC;EACH;EAEA,OAAOI,eAAeA,CAACL,KAAiB,EAAEC,QAAyB,EAAU;IAC3E,OAAOP,MAAM,CAACU,IAAI,CAChBP,SAAS,CAAC,CAAC,CAACQ,eAAe,CAACN,aAAa,CAACC,KAAK,EAAEC,QAAQ,CAAC,CAC5D,CAAC;EACH;EAEA,OAAOK,WAAWA,CAACN,KAAiB,EAAEC,QAAyB,EAAW;IACxE,OAAOJ,SAAS,CAAC,CAAC,CAACS,WAAW,CAACP,aAAa,CAACC,KAAK,EAAEC,QAAQ,CAAC,CAAC;EAChE;AACF","ignoreList":[]}
|
package/lib/module/cipher.js
CHANGED
|
@@ -2,22 +2,32 @@
|
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
4
|
import Stream from 'readable-stream';
|
|
5
|
+
import { StringDecoder } from 'string_decoder';
|
|
5
6
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
6
7
|
|
|
7
8
|
// @types/node
|
|
8
9
|
|
|
9
|
-
import {
|
|
10
|
+
import { binaryLikeToArrayBuffer } from './utils';
|
|
10
11
|
import { getDefaultEncoding, getUIntOption, normalizeEncoding, validateEncoding } from './utils/cipher';
|
|
11
12
|
class CipherUtils {
|
|
12
13
|
static native = NitroModules.createHybridObject('Cipher');
|
|
13
14
|
static getSupportedCiphers() {
|
|
14
15
|
return this.native.getSupportedCiphers();
|
|
15
16
|
}
|
|
17
|
+
static getCipherInfo(name, keyLength, ivLength) {
|
|
18
|
+
return this.native.getCipherInfo(name, keyLength, ivLength);
|
|
19
|
+
}
|
|
16
20
|
}
|
|
17
21
|
export function getCiphers() {
|
|
18
22
|
return CipherUtils.getSupportedCiphers();
|
|
19
23
|
}
|
|
24
|
+
export function getCipherInfo(name, options) {
|
|
25
|
+
if (typeof name !== 'string' || name.length === 0) return undefined;
|
|
26
|
+
return CipherUtils.getCipherInfo(name, options?.keyLength, options?.ivLength);
|
|
27
|
+
}
|
|
20
28
|
class CipherCommon extends Stream.Transform {
|
|
29
|
+
_decoder = null;
|
|
30
|
+
_decoderEncoding = undefined;
|
|
21
31
|
constructor({
|
|
22
32
|
isCipher,
|
|
23
33
|
cipherType,
|
|
@@ -52,6 +62,16 @@ class CipherCommon extends Stream.Transform {
|
|
|
52
62
|
authTagLen
|
|
53
63
|
});
|
|
54
64
|
}
|
|
65
|
+
getDecoder(encoding) {
|
|
66
|
+
const normalized = normalizeEncoding(encoding);
|
|
67
|
+
if (!this._decoder) {
|
|
68
|
+
this._decoder = new StringDecoder(encoding);
|
|
69
|
+
this._decoderEncoding = normalized;
|
|
70
|
+
} else if (this._decoderEncoding !== normalized) {
|
|
71
|
+
throw new Error('Cannot change encoding');
|
|
72
|
+
}
|
|
73
|
+
return this._decoder;
|
|
74
|
+
}
|
|
55
75
|
update(data, inputEncoding, outputEncoding) {
|
|
56
76
|
const defaultEncoding = getDefaultEncoding();
|
|
57
77
|
inputEncoding = inputEncoding ?? defaultEncoding;
|
|
@@ -63,14 +83,14 @@ class CipherCommon extends Stream.Transform {
|
|
|
63
83
|
}
|
|
64
84
|
const ret = this.native.update(binaryLikeToArrayBuffer(data, inputEncoding));
|
|
65
85
|
if (outputEncoding && outputEncoding !== 'buffer') {
|
|
66
|
-
return
|
|
86
|
+
return this.getDecoder(outputEncoding).write(Buffer.from(ret));
|
|
67
87
|
}
|
|
68
88
|
return Buffer.from(ret);
|
|
69
89
|
}
|
|
70
90
|
final(outputEncoding) {
|
|
71
91
|
const ret = this.native.final();
|
|
72
92
|
if (outputEncoding && outputEncoding !== 'buffer') {
|
|
73
|
-
return
|
|
93
|
+
return this.getDecoder(outputEncoding).end(Buffer.from(ret));
|
|
74
94
|
}
|
|
75
95
|
return Buffer.from(ret);
|
|
76
96
|
}
|
package/lib/module/cipher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","Stream","
|
|
1
|
+
{"version":3,"names":["NitroModules","Stream","StringDecoder","Buffer","binaryLikeToArrayBuffer","getDefaultEncoding","getUIntOption","normalizeEncoding","validateEncoding","CipherUtils","native","createHybridObject","getSupportedCiphers","getCipherInfo","name","keyLength","ivLength","getCiphers","options","length","undefined","CipherCommon","Transform","_decoder","_decoderEncoding","constructor","isCipher","cipherType","cipherKey","iv","streamOptions","transformKeys","key","authTagLen","factory","createCipher","getDecoder","encoding","normalized","Error","update","data","inputEncoding","outputEncoding","defaultEncoding","ArrayBuffer","isView","ret","write","from","final","end","_transform","chunk","callback","push","_flush","setAutoPadding","autoPadding","res","setAAD","buffer","plaintextLength","getAuthTag","setAuthTag","tag","Cipheriv","Decipheriv","createDecipheriv","algorithm","createCipheriv","xsalsa20","nonce","output","counter","result","Uint8Array"],"sourceRoot":"../../src","sources":["cipher.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { KeyObject } from './keys/classes';
|
|
6
|
+
import { KFormatType, KeyEncoding } from './utils';
|
|
7
|
+
import { DH_GROUPS } from './dh-groups';
|
|
8
|
+
export class DhKeyPairGen {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.native = NitroModules.createHybridObject('DhKeyPair');
|
|
11
|
+
const {
|
|
12
|
+
groupName,
|
|
13
|
+
prime,
|
|
14
|
+
primeLength,
|
|
15
|
+
generator
|
|
16
|
+
} = options;
|
|
17
|
+
if (groupName) {
|
|
18
|
+
// Resolve named group to prime + generator
|
|
19
|
+
const group = DH_GROUPS[groupName];
|
|
20
|
+
if (!group) {
|
|
21
|
+
throw new Error(`Unknown DH group: ${groupName}`);
|
|
22
|
+
}
|
|
23
|
+
const primeBuf = Buffer.from(group.prime, 'hex');
|
|
24
|
+
this.native.setPrime(primeBuf.buffer.slice(primeBuf.byteOffset, primeBuf.byteOffset + primeBuf.byteLength));
|
|
25
|
+
const gen = parseInt(group.generator, 16);
|
|
26
|
+
this.native.setGenerator(gen);
|
|
27
|
+
} else if (prime) {
|
|
28
|
+
// Custom prime as Buffer
|
|
29
|
+
const primeBuf = Buffer.from(prime);
|
|
30
|
+
this.native.setPrime(primeBuf.buffer.slice(primeBuf.byteOffset, primeBuf.byteOffset + primeBuf.byteLength));
|
|
31
|
+
this.native.setGenerator(generator ?? 2);
|
|
32
|
+
} else if (primeLength) {
|
|
33
|
+
this.native.setPrimeLength(primeLength);
|
|
34
|
+
this.native.setGenerator(generator ?? 2);
|
|
35
|
+
} else {
|
|
36
|
+
throw new Error('DH key generation requires one of: groupName, prime, or primeLength');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async generateKeyPair() {
|
|
40
|
+
await this.native.generateKeyPair();
|
|
41
|
+
}
|
|
42
|
+
generateKeyPairSync() {
|
|
43
|
+
this.native.generateKeyPairSync();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function dh_prepareKeyGenParams(options) {
|
|
47
|
+
if (!options) {
|
|
48
|
+
throw new Error('Options are required for DH key generation');
|
|
49
|
+
}
|
|
50
|
+
return new DhKeyPairGen(options);
|
|
51
|
+
}
|
|
52
|
+
function dh_formatKeyPairOutput(dh, encoding) {
|
|
53
|
+
const {
|
|
54
|
+
publicFormat,
|
|
55
|
+
privateFormat,
|
|
56
|
+
cipher,
|
|
57
|
+
passphrase
|
|
58
|
+
} = encoding;
|
|
59
|
+
const publicKeyData = dh.native.getPublicKey();
|
|
60
|
+
const privateKeyData = dh.native.getPrivateKey();
|
|
61
|
+
const pub = KeyObject.createKeyObject('public', publicKeyData, KFormatType.DER, KeyEncoding.SPKI);
|
|
62
|
+
const priv = KeyObject.createKeyObject('private', privateKeyData, KFormatType.DER, KeyEncoding.PKCS8);
|
|
63
|
+
let publicKey;
|
|
64
|
+
let privateKey;
|
|
65
|
+
if (publicFormat === -1) {
|
|
66
|
+
publicKey = pub;
|
|
67
|
+
} else {
|
|
68
|
+
const format = publicFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
69
|
+
const exported = pub.handle.exportKey(format, KeyEncoding.SPKI);
|
|
70
|
+
if (format === KFormatType.PEM) {
|
|
71
|
+
publicKey = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
72
|
+
} else {
|
|
73
|
+
publicKey = exported;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (privateFormat === -1) {
|
|
77
|
+
privateKey = priv;
|
|
78
|
+
} else {
|
|
79
|
+
const format = privateFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
80
|
+
const exported = priv.handle.exportKey(format, KeyEncoding.PKCS8, cipher, passphrase);
|
|
81
|
+
if (format === KFormatType.PEM) {
|
|
82
|
+
privateKey = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
83
|
+
} else {
|
|
84
|
+
privateKey = exported;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
publicKey,
|
|
89
|
+
privateKey
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export async function dh_generateKeyPairNode(options, encoding) {
|
|
93
|
+
const dh = dh_prepareKeyGenParams(options);
|
|
94
|
+
await dh.generateKeyPair();
|
|
95
|
+
return dh_formatKeyPairOutput(dh, encoding);
|
|
96
|
+
}
|
|
97
|
+
export function dh_generateKeyPairNodeSync(options, encoding) {
|
|
98
|
+
const dh = dh_prepareKeyGenParams(options);
|
|
99
|
+
dh.generateKeyPairSync();
|
|
100
|
+
return dh_formatKeyPairOutput(dh, encoding);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=dhKeyPair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","KeyObject","KFormatType","KeyEncoding","DH_GROUPS","DhKeyPairGen","constructor","options","native","createHybridObject","groupName","prime","primeLength","generator","group","Error","primeBuf","from","setPrime","buffer","slice","byteOffset","byteLength","gen","parseInt","setGenerator","setPrimeLength","generateKeyPair","generateKeyPairSync","dh_prepareKeyGenParams","dh_formatKeyPairOutput","dh","encoding","publicFormat","privateFormat","cipher","passphrase","publicKeyData","getPublicKey","privateKeyData","getPrivateKey","pub","createKeyObject","DER","SPKI","priv","PKCS8","publicKey","privateKey","format","PEM","exported","handle","exportKey","Uint8Array","toString","dh_generateKeyPairNode","dh_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["dhKeyPair.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { KeyObject } from './keys/classes';
|
|
6
|
+
import { KFormatType, KeyEncoding } from './utils';
|
|
7
|
+
export class Dsa {
|
|
8
|
+
constructor(modulusLength, divisorLength) {
|
|
9
|
+
this.native = NitroModules.createHybridObject('DsaKeyPair');
|
|
10
|
+
this.native.setModulusLength(modulusLength);
|
|
11
|
+
if (divisorLength !== undefined && divisorLength >= 0) {
|
|
12
|
+
this.native.setDivisorLength(divisorLength);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async generateKeyPair() {
|
|
16
|
+
await this.native.generateKeyPair();
|
|
17
|
+
}
|
|
18
|
+
generateKeyPairSync() {
|
|
19
|
+
this.native.generateKeyPairSync();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function dsa_prepareKeyGenParams(options) {
|
|
23
|
+
if (!options) {
|
|
24
|
+
throw new Error('Options are required for DSA key generation');
|
|
25
|
+
}
|
|
26
|
+
const {
|
|
27
|
+
modulusLength,
|
|
28
|
+
divisorLength
|
|
29
|
+
} = options;
|
|
30
|
+
if (!modulusLength || modulusLength <= 0) {
|
|
31
|
+
throw new Error('Invalid or missing modulusLength for DSA key generation');
|
|
32
|
+
}
|
|
33
|
+
return new Dsa(modulusLength, divisorLength);
|
|
34
|
+
}
|
|
35
|
+
function dsa_formatKeyPairOutput(dsa, encoding) {
|
|
36
|
+
const {
|
|
37
|
+
publicFormat,
|
|
38
|
+
privateFormat,
|
|
39
|
+
cipher,
|
|
40
|
+
passphrase
|
|
41
|
+
} = encoding;
|
|
42
|
+
const publicKeyData = dsa.native.getPublicKey();
|
|
43
|
+
const privateKeyData = dsa.native.getPrivateKey();
|
|
44
|
+
const pub = KeyObject.createKeyObject('public', publicKeyData, KFormatType.DER, KeyEncoding.SPKI);
|
|
45
|
+
const priv = KeyObject.createKeyObject('private', privateKeyData, KFormatType.DER, KeyEncoding.PKCS8);
|
|
46
|
+
let publicKey;
|
|
47
|
+
let privateKey;
|
|
48
|
+
if (publicFormat === -1) {
|
|
49
|
+
publicKey = pub;
|
|
50
|
+
} else {
|
|
51
|
+
const format = publicFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
52
|
+
const exported = pub.handle.exportKey(format, KeyEncoding.SPKI);
|
|
53
|
+
if (format === KFormatType.PEM) {
|
|
54
|
+
publicKey = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
55
|
+
} else {
|
|
56
|
+
publicKey = exported;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (privateFormat === -1) {
|
|
60
|
+
privateKey = priv;
|
|
61
|
+
} else {
|
|
62
|
+
const format = privateFormat === KFormatType.PEM ? KFormatType.PEM : KFormatType.DER;
|
|
63
|
+
const exported = priv.handle.exportKey(format, KeyEncoding.PKCS8, cipher, passphrase);
|
|
64
|
+
if (format === KFormatType.PEM) {
|
|
65
|
+
privateKey = Buffer.from(new Uint8Array(exported)).toString('utf-8');
|
|
66
|
+
} else {
|
|
67
|
+
privateKey = exported;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
publicKey,
|
|
72
|
+
privateKey
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export async function dsa_generateKeyPairNode(options, encoding) {
|
|
76
|
+
const dsa = dsa_prepareKeyGenParams(options);
|
|
77
|
+
await dsa.generateKeyPair();
|
|
78
|
+
return dsa_formatKeyPairOutput(dsa, encoding);
|
|
79
|
+
}
|
|
80
|
+
export function dsa_generateKeyPairNodeSync(options, encoding) {
|
|
81
|
+
const dsa = dsa_prepareKeyGenParams(options);
|
|
82
|
+
dsa.generateKeyPairSync();
|
|
83
|
+
return dsa_formatKeyPairOutput(dsa, encoding);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=dsa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","KeyObject","KFormatType","KeyEncoding","Dsa","constructor","modulusLength","divisorLength","native","createHybridObject","setModulusLength","undefined","setDivisorLength","generateKeyPair","generateKeyPairSync","dsa_prepareKeyGenParams","options","Error","dsa_formatKeyPairOutput","dsa","encoding","publicFormat","privateFormat","cipher","passphrase","publicKeyData","getPublicKey","privateKeyData","getPrivateKey","pub","createKeyObject","DER","SPKI","priv","PKCS8","publicKey","privateKey","format","PEM","exported","handle","exportKey","from","Uint8Array","toString","dsa_generateKeyPairNode","dsa_generateKeyPairNodeSync"],"sourceRoot":"../../src","sources":["dsa.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/ec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
-
import { CryptoKey, KeyObject, PublicKeyObject, PrivateKeyObject } from './keys';
|
|
4
|
+
import { CryptoKey, KeyObject, PublicKeyObject, PrivateKeyObject } from './keys/classes';
|
|
5
5
|
import { bufferLikeToArrayBuffer, getUsagesUnion, hasAnyNotIn, kNamedCurveAliases, lazyDOMException, normalizeHashName, HashContext, KeyEncoding, KFormatType } from './utils';
|
|
6
6
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
7
7
|
import { ECDH } from './ecdh';
|
|
@@ -40,7 +40,7 @@ export class Ec {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
//
|
|
43
|
+
// WebCrypto API - only P-256, P-384, P-521 allowed per spec
|
|
44
44
|
export function ecImportKey(format, keyData, algorithm, extractable, keyUsages) {
|
|
45
45
|
const {
|
|
46
46
|
name,
|
|
@@ -185,7 +185,7 @@ export const ecdsaSignVerify = (key, data, {
|
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
-
//
|
|
188
|
+
// WebCrypto API - only P-256, P-384, P-521 allowed per spec
|
|
189
189
|
|
|
190
190
|
export async function ec_generateKeyPair(name, namedCurve, extractable, keyUsages,
|
|
191
191
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -248,8 +248,8 @@ function ec_prepareKeyGenParams(options) {
|
|
|
248
248
|
const {
|
|
249
249
|
namedCurve
|
|
250
250
|
} = options;
|
|
251
|
-
if (!namedCurve
|
|
252
|
-
throw new Error(
|
|
251
|
+
if (!namedCurve) {
|
|
252
|
+
throw new Error('namedCurve is required for EC key generation');
|
|
253
253
|
}
|
|
254
254
|
return new Ec(namedCurve);
|
|
255
255
|
}
|
|
@@ -344,7 +344,7 @@ export function ecDeriveBits(algorithm, baseKey, length) {
|
|
|
344
344
|
// If length is specified, truncate
|
|
345
345
|
const byteLength = Math.ceil(length / 8);
|
|
346
346
|
if (secretBuf.byteLength >= byteLength) {
|
|
347
|
-
return secretBuf.
|
|
347
|
+
return secretBuf.buffer.slice(secretBuf.byteOffset, secretBuf.byteOffset + byteLength);
|
|
348
348
|
}
|
|
349
349
|
throw new Error('Derived key is shorter than requested length');
|
|
350
350
|
}
|
package/lib/module/ec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","CryptoKey","KeyObject","PublicKeyObject","PrivateKeyObject","bufferLikeToArrayBuffer","getUsagesUnion","hasAnyNotIn","kNamedCurveAliases","lazyDOMException","normalizeHashName","HashContext","KeyEncoding","KFormatType","Buffer","ECDH","EcUtils","native","_native","createHybridObject","getSupportedCurves","getCurves","Ec","constructor","curve","setCurve","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","ecImportKey","format","keyData","algorithm","extractable","keyUsages","name","namedCurve","jwk","kty","crv","use","undefined","expectedUse","alg","expectedAlg","handle","keyType","initJwk","keyObject","expectedKeyType","isPublicKey","validUsages","keyBuffer","curveAlias","initECRaw","createKeyObject","DER","SPKI","PKCS8","ecdsaSignVerify","key","data","hash","signature","isSign","type","hashName","normalizedHashName","WebCrypto","ec","encoding","exportKey","importKey","usages","dataBuffer","sign","signatureBuffer","verify","ec_generateKeyPair","_options","Object","keys","includes","publicUsages","privateUsages","keyAlgorithm","publicKeyData","privateKeyData","pub","priv","ec_prepareKeyGenParams","options","Error","ec_formatKeyPairOutput","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","PEM","keyEncoding","exported","from","Uint8Array","toString","SEC1","ec_generateKeyPairNode","ec_generateKeyPairNodeSync","ecDeriveBits","baseKey","length","public","opensslCurve","ecdh","jwkPrivate","exportJwk","d","privateBytes","setPrivateKey","jwkPublic","x","y","publicBytes","concat","secret","computeSecret","secretBuf","buffer","byteLength","Math","ceil","subarray"],"sourceRoot":"../../src","sources":["ec.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NitroModules","CryptoKey","KeyObject","PublicKeyObject","PrivateKeyObject","bufferLikeToArrayBuffer","getUsagesUnion","hasAnyNotIn","kNamedCurveAliases","lazyDOMException","normalizeHashName","HashContext","KeyEncoding","KFormatType","Buffer","ECDH","EcUtils","native","_native","createHybridObject","getSupportedCurves","getCurves","Ec","constructor","curve","setCurve","generateKeyPair","publicKey","getPublicKey","privateKey","getPrivateKey","generateKeyPairSync","ecImportKey","format","keyData","algorithm","extractable","keyUsages","name","namedCurve","jwk","kty","crv","use","undefined","expectedUse","alg","expectedAlg","handle","keyType","initJwk","keyObject","expectedKeyType","isPublicKey","validUsages","keyBuffer","curveAlias","initECRaw","createKeyObject","DER","SPKI","PKCS8","ecdsaSignVerify","key","data","hash","signature","isSign","type","hashName","normalizedHashName","WebCrypto","ec","encoding","exportKey","importKey","usages","dataBuffer","sign","signatureBuffer","verify","ec_generateKeyPair","_options","Object","keys","includes","publicUsages","privateUsages","keyAlgorithm","publicKeyData","privateKeyData","pub","priv","ec_prepareKeyGenParams","options","Error","ec_formatKeyPairOutput","publicFormat","publicType","privateFormat","privateType","cipher","passphrase","PEM","keyEncoding","exported","from","Uint8Array","toString","SEC1","ec_generateKeyPairNode","ec_generateKeyPairNodeSync","ecDeriveBits","baseKey","length","public","opensslCurve","ecdh","jwkPrivate","exportJwk","d","privateBytes","setPrivateKey","jwkPublic","x","y","publicBytes","concat","secret","computeSecret","secretBuf","buffer","byteLength","Math","ceil","slice","byteOffset"],"sourceRoot":"../../src","sources":["ec.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/ecdh.js
CHANGED
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
4
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
const POINT_CONVERSION_COMPRESSED = 2;
|
|
6
|
+
const POINT_CONVERSION_UNCOMPRESSED = 4;
|
|
7
|
+
const POINT_CONVERSION_HYBRID = 6;
|
|
5
8
|
export class ECDH {
|
|
9
|
+
static get convertKeyHybrid() {
|
|
10
|
+
if (!this._convertKeyHybrid) {
|
|
11
|
+
this._convertKeyHybrid = NitroModules.createHybridObject('ECDH');
|
|
12
|
+
}
|
|
13
|
+
return this._convertKeyHybrid;
|
|
14
|
+
}
|
|
6
15
|
constructor(curveName) {
|
|
7
16
|
this._hybrid = NitroModules.createHybridObject('ECDH');
|
|
8
17
|
this._hybrid.init(curveName);
|
|
@@ -58,6 +67,34 @@ export class ECDH {
|
|
|
58
67
|
}
|
|
59
68
|
this._hybrid.setPublicKey(keyBuf.buffer);
|
|
60
69
|
}
|
|
70
|
+
static convertKey(key, curve, inputEncoding, outputEncoding, format) {
|
|
71
|
+
let keyBuf;
|
|
72
|
+
if (Buffer.isBuffer(key)) {
|
|
73
|
+
keyBuf = key;
|
|
74
|
+
} else {
|
|
75
|
+
keyBuf = Buffer.from(key, inputEncoding);
|
|
76
|
+
}
|
|
77
|
+
let formatNum;
|
|
78
|
+
switch (format) {
|
|
79
|
+
case 'compressed':
|
|
80
|
+
formatNum = POINT_CONVERSION_COMPRESSED;
|
|
81
|
+
break;
|
|
82
|
+
case 'hybrid':
|
|
83
|
+
formatNum = POINT_CONVERSION_HYBRID;
|
|
84
|
+
break;
|
|
85
|
+
case 'uncompressed':
|
|
86
|
+
case undefined:
|
|
87
|
+
formatNum = POINT_CONVERSION_UNCOMPRESSED;
|
|
88
|
+
break;
|
|
89
|
+
default:
|
|
90
|
+
throw new TypeError(`Invalid point conversion format: ${format}`);
|
|
91
|
+
}
|
|
92
|
+
const result = Buffer.from(ECDH.convertKeyHybrid.convertKey(keyBuf.buffer, curve, formatNum));
|
|
93
|
+
if (outputEncoding) {
|
|
94
|
+
return result.toString(outputEncoding);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
61
98
|
}
|
|
62
99
|
export function createECDH(curveName) {
|
|
63
100
|
return new ECDH(curveName);
|
package/lib/module/ecdh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NitroModules","Buffer","ECDH","constructor","curveName","_hybrid","
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","ECDH","convertKeyHybrid","_convertKeyHybrid","createHybridObject","constructor","curveName","_hybrid","init","generateKeys","key","from","computeSecret","otherPublicKey","inputEncoding","keyBuf","isBuffer","TypeError","secret","buffer","getPrivateKey","setPrivateKey","privateKey","encoding","getPublicKey","pub","toString","setPublicKey","publicKey","convertKey","curve","outputEncoding","format","formatNum","undefined","result","createECDH"],"sourceRoot":"../../src","sources":["ecdh.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,SAASC,MAAM,QAAQ,gCAAgC;AAEvD,MAAMC,2BAA2B,GAAG,CAAC;AACrC,MAAMC,6BAA6B,GAAG,CAAC;AACvC,MAAMC,uBAAuB,GAAG,CAAC;AAEjC,OAAO,MAAMC,IAAI,CAAC;EAEhB,WAAmBC,gBAAgBA,CAAA,EAAkB;IACnD,IAAI,CAAC,IAAI,CAACC,iBAAiB,EAAE;MAC3B,IAAI,CAACA,iBAAiB,GACpBP,YAAY,CAACQ,kBAAkB,CAAgB,MAAM,CAAC;IAC1D;IACA,OAAO,IAAI,CAACD,iBAAiB;EAC/B;EAIAE,WAAWA,CAACC,SAAiB,EAAE;IAC7B,IAAI,CAACC,OAAO,GAAGX,YAAY,CAACQ,kBAAkB,CAAgB,MAAM,CAAC;IACrE,IAAI,CAACG,OAAO,CAACC,IAAI,CAACF,SAAS,CAAC;EAC9B;EAEAG,YAAYA,CAAA,EAAW;IACrB,MAAMC,GAAG,GAAG,IAAI,CAACH,OAAO,CAACE,YAAY,CAAC,CAAC;IACvC,OAAOZ,MAAM,CAACc,IAAI,CAACD,GAAG,CAAC;EACzB;EAEAE,aAAaA,CACXC,cAAsE,EACtEC,aAA8B,EACtB;IACR,IAAIC,MAAc;IAClB,IAAIlB,MAAM,CAACmB,QAAQ,CAACH,cAAc,CAAC,EAAE;MACnCE,MAAM,GAAGF,cAAc;IACzB,CAAC,MAAM,IAAI,OAAOA,cAAc,KAAK,QAAQ,EAAE;MAC7CE,MAAM,GAAGlB,MAAM,CAACc,IAAI,CAACE,cAAc,EAAEC,aAAa,CAAC;IACrD,CAAC,MAAM;MACL;MACA,MAAM,IAAIG,SAAS,CAAC,6BAA6B,CAAC;IACpD;;IAEA;IACA,MAAMC,MAAM,GAAG,IAAI,CAACX,OAAO,CAACK,aAAa,CAACG,MAAM,CAACI,MAAqB,CAAC;IACvE,OAAOtB,MAAM,CAACc,IAAI,CAACO,MAAM,CAAC;EAC5B;EAEAE,aAAaA,CAAA,EAAW;IACtB,OAAOvB,MAAM,CAACc,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACa,aAAa,CAAC,CAAC,CAAC;EAClD;EAEAC,aAAaA,CAACC,UAA2B,EAAEC,QAAyB,EAAQ;IAC1E,IAAIR,MAAc;IAClB,IAAIlB,MAAM,CAACmB,QAAQ,CAACM,UAAU,CAAC,EAAE;MAC/BP,MAAM,GAAGO,UAAU;IACrB,CAAC,MAAM;MACLP,MAAM,GAAGlB,MAAM,CAACc,IAAI,CAACW,UAAU,EAAEC,QAAQ,CAAC;IAC5C;IACA,IAAI,CAAChB,OAAO,CAACc,aAAa,CAACN,MAAM,CAACI,MAAqB,CAAC;EAC1D;EAEAK,YAAYA,CAACD,QAAyB,EAAmB;IACvD;IACA;IACA;IACA;IACA,MAAME,GAAG,GAAG5B,MAAM,CAACc,IAAI,CAAC,IAAI,CAACJ,OAAO,CAACiB,YAAY,CAAC,CAAC,CAAC;IACpD,IAAID,QAAQ,EAAE;MACZ,OAAOE,GAAG,CAACC,QAAQ,CAACH,QAAQ,CAAC;IAC/B;IACA,OAAOE,GAAG;EACZ;EAEAE,YAAYA,CAACC,SAA0B,EAAEL,QAAyB,EAAQ;IACxE,IAAIR,MAAc;IAClB,IAAIlB,MAAM,CAACmB,QAAQ,CAACY,SAAS,CAAC,EAAE;MAC9Bb,MAAM,GAAGa,SAAS;IACpB,CAAC,MAAM;MACLb,MAAM,GAAGlB,MAAM,CAACc,IAAI,CAACiB,SAAS,EAAEL,QAAQ,CAAC;IAC3C;IACA,IAAI,CAAChB,OAAO,CAACoB,YAAY,CAACZ,MAAM,CAACI,MAAqB,CAAC;EACzD;EAEA,OAAOU,UAAUA,CACfnB,GAAoB,EACpBoB,KAAa,EACbhB,aAA8B,EAC9BiB,cAA+B,EAC/BC,MAAiD,EAChC;IACjB,IAAIjB,MAAc;IAClB,IAAIlB,MAAM,CAACmB,QAAQ,CAACN,GAAG,CAAC,EAAE;MACxBK,MAAM,GAAGL,GAAG;IACd,CAAC,MAAM;MACLK,MAAM,GAAGlB,MAAM,CAACc,IAAI,CAACD,GAAG,EAAEI,aAAa,CAAC;IAC1C;IAEA,IAAImB,SAAiB;IACrB,QAAQD,MAAM;MACZ,KAAK,YAAY;QACfC,SAAS,GAAGnC,2BAA2B;QACvC;MACF,KAAK,QAAQ;QACXmC,SAAS,GAAGjC,uBAAuB;QACnC;MACF,KAAK,cAAc;MACnB,KAAKkC,SAAS;QACZD,SAAS,GAAGlC,6BAA6B;QACzC;MACF;QACE,MAAM,IAAIkB,SAAS,CACjB,oCAAoCe,MAAM,EAC5C,CAAC;IACL;IAEA,MAAMG,MAAM,GAAGtC,MAAM,CAACc,IAAI,CACxBV,IAAI,CAACC,gBAAgB,CAAC2B,UAAU,CAC9Bd,MAAM,CAACI,MAAM,EACbW,KAAK,EACLG,SACF,CACF,CAAC;IAED,IAAIF,cAAc,EAAE;MAClB,OAAOI,MAAM,CAACT,QAAQ,CAACK,cAAc,CAAC;IACxC;IACA,OAAOI,MAAM;EACf;AACF;AAEA,OAAO,SAASC,UAAUA,CAAC9B,SAAiB,EAAQ;EAClD,OAAO,IAAIL,IAAI,CAACK,SAAS,CAAC;AAC5B","ignoreList":[]}
|
package/lib/module/ed.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
4
|
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
-
import { CryptoKey, KeyObject } from './keys';
|
|
5
|
+
import { CryptoKey, KeyObject } from './keys/classes';
|
|
6
6
|
import { binaryLikeToArrayBuffer as toAB, hasAnyNotIn, lazyDOMException, getUsagesUnion, KFormatType, KeyEncoding } from './utils';
|
|
7
7
|
export class Ed {
|
|
8
8
|
constructor(type, config) {
|