react-native-quick-crypto 1.1.1 → 1.1.2

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.
Files changed (181) hide show
  1. package/QuickCrypto.podspec +1 -0
  2. package/android/CMakeLists.txt +4 -0
  3. package/cpp/cipher/CCMCipher.cpp +7 -11
  4. package/cpp/cipher/ChaCha20Cipher.cpp +6 -10
  5. package/cpp/cipher/ChaCha20Poly1305Cipher.cpp +10 -16
  6. package/cpp/cipher/GCMCipher.cpp +3 -5
  7. package/cpp/cipher/HybridCipher.cpp +7 -13
  8. package/cpp/cipher/HybridRsaCipher.cpp +19 -27
  9. package/cpp/cipher/OCBCipher.cpp +2 -3
  10. package/cpp/cipher/XChaCha20Poly1305Cipher.cpp +13 -19
  11. package/cpp/cipher/XSalsa20Cipher.cpp +8 -12
  12. package/cpp/cipher/XSalsa20Poly1305Cipher.cpp +11 -16
  13. package/cpp/keys/HybridKeyObjectHandle.cpp +630 -2
  14. package/cpp/keys/HybridKeyObjectHandle.hpp +21 -1
  15. package/cpp/sign/HybridSignHandle.cpp +26 -8
  16. package/cpp/sign/HybridVerifyHandle.cpp +28 -11
  17. package/cpp/slhdsa/HybridSlhDsaKeyPair.cpp +245 -0
  18. package/cpp/slhdsa/HybridSlhDsaKeyPair.hpp +48 -0
  19. package/cpp/turboshake/HybridTurboShake.cpp +379 -0
  20. package/cpp/turboshake/HybridTurboShake.hpp +28 -0
  21. package/cpp/utils/HybridUtils.cpp +26 -14
  22. package/deps/blake3/README.md +6 -7
  23. package/deps/blake3/c/blake3.c +3 -2
  24. package/deps/blake3/c/blake3.h +2 -2
  25. package/deps/blake3/c/blake3_dispatch.c +2 -2
  26. package/deps/blake3/c/blake3_impl.h +1 -1
  27. package/deps/blake3/c/blake3_neon.c +5 -4
  28. package/deps/ncrypto/include/ncrypto/version.h +2 -2
  29. package/deps/ncrypto/include/ncrypto.h +9 -2
  30. package/deps/ncrypto/src/ncrypto.cpp +130 -35
  31. package/lib/commonjs/dhKeyPair.js +3 -0
  32. package/lib/commonjs/dhKeyPair.js.map +1 -1
  33. package/lib/commonjs/dsa.js +3 -0
  34. package/lib/commonjs/dsa.js.map +1 -1
  35. package/lib/commonjs/ec.js +37 -30
  36. package/lib/commonjs/ec.js.map +1 -1
  37. package/lib/commonjs/ed.js +60 -6
  38. package/lib/commonjs/ed.js.map +1 -1
  39. package/lib/commonjs/hash.js +52 -5
  40. package/lib/commonjs/hash.js.map +1 -1
  41. package/lib/commonjs/keys/classes.js +33 -7
  42. package/lib/commonjs/keys/classes.js.map +1 -1
  43. package/lib/commonjs/keys/generateKeyPair.js +85 -4
  44. package/lib/commonjs/keys/generateKeyPair.js.map +1 -1
  45. package/lib/commonjs/keys/index.js +50 -2
  46. package/lib/commonjs/keys/index.js.map +1 -1
  47. package/lib/commonjs/keys/signVerify.js +9 -2
  48. package/lib/commonjs/keys/signVerify.js.map +1 -1
  49. package/lib/commonjs/keys/utils.js +59 -1
  50. package/lib/commonjs/keys/utils.js.map +1 -1
  51. package/lib/commonjs/random.js +63 -9
  52. package/lib/commonjs/random.js.map +1 -1
  53. package/lib/commonjs/rsa.js +3 -0
  54. package/lib/commonjs/rsa.js.map +1 -1
  55. package/lib/commonjs/slhdsa.js +70 -0
  56. package/lib/commonjs/slhdsa.js.map +1 -0
  57. package/lib/commonjs/specs/slhDsaKeyPair.nitro.js +6 -0
  58. package/lib/commonjs/specs/slhDsaKeyPair.nitro.js.map +1 -0
  59. package/lib/commonjs/specs/turboshake.nitro.js +6 -0
  60. package/lib/commonjs/specs/turboshake.nitro.js.map +1 -0
  61. package/lib/commonjs/subtle.js +926 -275
  62. package/lib/commonjs/subtle.js.map +1 -1
  63. package/lib/commonjs/utils/conversion.js +53 -19
  64. package/lib/commonjs/utils/conversion.js.map +1 -1
  65. package/lib/commonjs/utils/errors.js +63 -4
  66. package/lib/commonjs/utils/errors.js.map +1 -1
  67. package/lib/commonjs/utils/types.js.map +1 -1
  68. package/lib/commonjs/utils/validation.js +46 -0
  69. package/lib/commonjs/utils/validation.js.map +1 -1
  70. package/lib/module/dhKeyPair.js +3 -0
  71. package/lib/module/dhKeyPair.js.map +1 -1
  72. package/lib/module/dsa.js +3 -0
  73. package/lib/module/dsa.js.map +1 -1
  74. package/lib/module/ec.js +38 -31
  75. package/lib/module/ec.js.map +1 -1
  76. package/lib/module/ed.js +61 -7
  77. package/lib/module/ed.js.map +1 -1
  78. package/lib/module/hash.js +52 -5
  79. package/lib/module/hash.js.map +1 -1
  80. package/lib/module/keys/classes.js +31 -5
  81. package/lib/module/keys/classes.js.map +1 -1
  82. package/lib/module/keys/generateKeyPair.js +86 -5
  83. package/lib/module/keys/generateKeyPair.js.map +1 -1
  84. package/lib/module/keys/index.js +50 -2
  85. package/lib/module/keys/index.js.map +1 -1
  86. package/lib/module/keys/signVerify.js +9 -2
  87. package/lib/module/keys/signVerify.js.map +1 -1
  88. package/lib/module/keys/utils.js +57 -1
  89. package/lib/module/keys/utils.js.map +1 -1
  90. package/lib/module/random.js +63 -10
  91. package/lib/module/random.js.map +1 -1
  92. package/lib/module/rsa.js +3 -0
  93. package/lib/module/rsa.js.map +1 -1
  94. package/lib/module/slhdsa.js +64 -0
  95. package/lib/module/slhdsa.js.map +1 -0
  96. package/lib/module/specs/slhDsaKeyPair.nitro.js +4 -0
  97. package/lib/module/specs/slhDsaKeyPair.nitro.js.map +1 -0
  98. package/lib/module/specs/turboshake.nitro.js +4 -0
  99. package/lib/module/specs/turboshake.nitro.js.map +1 -0
  100. package/lib/module/subtle.js +927 -276
  101. package/lib/module/subtle.js.map +1 -1
  102. package/lib/module/utils/conversion.js +51 -19
  103. package/lib/module/utils/conversion.js.map +1 -1
  104. package/lib/module/utils/errors.js +61 -4
  105. package/lib/module/utils/errors.js.map +1 -1
  106. package/lib/module/utils/types.js.map +1 -1
  107. package/lib/module/utils/validation.js +44 -0
  108. package/lib/module/utils/validation.js.map +1 -1
  109. package/lib/typescript/dhKeyPair.d.ts.map +1 -1
  110. package/lib/typescript/dsa.d.ts.map +1 -1
  111. package/lib/typescript/ec.d.ts.map +1 -1
  112. package/lib/typescript/ed.d.ts.map +1 -1
  113. package/lib/typescript/hash.d.ts.map +1 -1
  114. package/lib/typescript/index.d.ts +12 -7
  115. package/lib/typescript/index.d.ts.map +1 -1
  116. package/lib/typescript/keys/classes.d.ts +10 -1
  117. package/lib/typescript/keys/classes.d.ts.map +1 -1
  118. package/lib/typescript/keys/generateKeyPair.d.ts +12 -1
  119. package/lib/typescript/keys/generateKeyPair.d.ts.map +1 -1
  120. package/lib/typescript/keys/index.d.ts +3 -1
  121. package/lib/typescript/keys/index.d.ts.map +1 -1
  122. package/lib/typescript/keys/signVerify.d.ts.map +1 -1
  123. package/lib/typescript/keys/utils.d.ts +21 -4
  124. package/lib/typescript/keys/utils.d.ts.map +1 -1
  125. package/lib/typescript/random.d.ts +5 -1
  126. package/lib/typescript/random.d.ts.map +1 -1
  127. package/lib/typescript/rsa.d.ts.map +1 -1
  128. package/lib/typescript/slhdsa.d.ts +19 -0
  129. package/lib/typescript/slhdsa.d.ts.map +1 -0
  130. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts +9 -0
  131. package/lib/typescript/specs/keyObjectHandle.nitro.d.ts.map +1 -1
  132. package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts +16 -0
  133. package/lib/typescript/specs/slhDsaKeyPair.nitro.d.ts.map +1 -0
  134. package/lib/typescript/specs/turboshake.nitro.d.ts +11 -0
  135. package/lib/typescript/specs/turboshake.nitro.d.ts.map +1 -0
  136. package/lib/typescript/subtle.d.ts +3 -2
  137. package/lib/typescript/subtle.d.ts.map +1 -1
  138. package/lib/typescript/utils/conversion.d.ts +4 -3
  139. package/lib/typescript/utils/conversion.d.ts.map +1 -1
  140. package/lib/typescript/utils/errors.d.ts +12 -0
  141. package/lib/typescript/utils/errors.d.ts.map +1 -1
  142. package/lib/typescript/utils/types.d.ts +32 -15
  143. package/lib/typescript/utils/types.d.ts.map +1 -1
  144. package/lib/typescript/utils/validation.d.ts +3 -1
  145. package/lib/typescript/utils/validation.d.ts.map +1 -1
  146. package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +2 -0
  147. package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +20 -0
  148. package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +20 -0
  149. package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +48 -0
  150. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.cpp +9 -0
  151. package/nitrogen/generated/shared/c++/HybridKeyObjectHandleSpec.hpp +9 -0
  152. package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.cpp +29 -0
  153. package/nitrogen/generated/shared/c++/HybridSlhDsaKeyPairSpec.hpp +72 -0
  154. package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.cpp +22 -0
  155. package/nitrogen/generated/shared/c++/HybridTurboShakeSpec.hpp +70 -0
  156. package/nitrogen/generated/shared/c++/JWK.hpp +9 -1
  157. package/nitrogen/generated/shared/c++/JWKkty.hpp +4 -0
  158. package/nitrogen/generated/shared/c++/KangarooTwelveVariant.hpp +76 -0
  159. package/nitrogen/generated/shared/c++/TurboShakeVariant.hpp +76 -0
  160. package/package.json +2 -3
  161. package/src/dhKeyPair.ts +8 -0
  162. package/src/dsa.ts +8 -0
  163. package/src/ec.ts +52 -29
  164. package/src/ed.ts +95 -16
  165. package/src/hash.ts +108 -5
  166. package/src/keys/classes.ts +46 -5
  167. package/src/keys/generateKeyPair.ts +151 -5
  168. package/src/keys/index.ts +73 -3
  169. package/src/keys/signVerify.ts +13 -2
  170. package/src/keys/utils.ts +78 -5
  171. package/src/random.ts +93 -9
  172. package/src/rsa.ts +8 -0
  173. package/src/slhdsa.ts +146 -0
  174. package/src/specs/keyObjectHandle.nitro.ts +17 -0
  175. package/src/specs/slhDsaKeyPair.nitro.ts +29 -0
  176. package/src/specs/turboshake.nitro.ts +21 -0
  177. package/src/subtle.ts +1191 -360
  178. package/src/utils/conversion.ts +72 -21
  179. package/src/utils/errors.ts +72 -4
  180. package/src/utils/types.ts +80 -15
  181. package/src/utils/validation.ts +70 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","SBuffer","KFormatType","KeyEncoding","KeyType","CryptoKey","KeyObject","PublicKeyObject","PrivateKeyObject","SecretKeyObject","bufferLikeToArrayBuffer","argon2Sync","lazyDOMException","normalizeHashName","HashContext","validateMaxBufferLength","asyncDigest","createSecretKey","createPublicKey","NitroModules","pbkdf2DeriveBits","ecImportKey","ecdsaSignVerify","ec_generateKeyPair","ecDeriveBits","rsa_generateKeyPair","getRandomValues","createHmac","timingSafeEqual","createSign","createVerify","ed_generateKeyPairWebCrypto","x_generateKeyPairWebCrypto","xDeriveBits","Ed","mldsa_generateKeyPairWebCrypto","mlkem_generateKeyPairWebCrypto","MlKem","hkdfDeriveBits","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","_canonicalAlgorithmNames","getCanonicalAlgorithmNames","map","Map","set","Object","values","SUPPORTED_ALGORITHMS","name","toLowerCase","normalizeAlgorithm","algorithm","_operation","get","canonical","validateJwkExtAndKeyOps","jwk","extractable","keyUsages","ext","key_ops","undefined","Array","isArray","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatRaw","handle","exportKey","kWebCryptoKeyFormatSPKI","exported","export","type","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","hashAlgorithm","hash","label","rsaCipherModule","createHybridObject","RSA_PKCS1_OAEP_PADDING","encrypt","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","aesOcbCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","buffer","aesAeadCipher","config","additionalData","tagLength","validTagLengths","algorithmName","tagByteLength","cipherSuffix","authTagLen","processData","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","authTag","setAuthTag","setAAD","tag","getAuthTag","ivBuffer","aesKwCipher","isWrap","exportedKey","defaultWrapIV","chaCha20Poly1305Cipher","aesGenerateKey","validUsages","keyBytes","keyAlgorithm","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","WebCrypto","kmacGenerateKey","defaultLength","kmacSignVerify","signature","outputLengthBits","outputLengthBytes","keyData","kmac","customizationBuffer","customization","createKmac","computed","digest","sigBuffer","kmacImportKey","kty","expectedAlg","alg","keyType","initJwk","rsaImportKey","checkSet","createKeyObject","DER","SPKI","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","normalizedHash","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","from","keyBitLength","normalizedAlgorithm","aesImportKey","actualLength","edImportKey","isX","allowedUsages","init","jwkData","PRIVATE","pqcImportKeyObject","initPqcRaw","mldsaImportKey","isPublicFormat","mlkemImportKey","exportKeySpki","exportKeyPkcs8","exportKeyRaw","byteOffset","exportKeyJWK","exportJwk","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","hkdfImportKey","checkCryptoKeyPairUsages","pair","privateKey","argon2DeriveBits","baseKey","nonce","parallelism","memory","passes","secretValue","associatedData","message","algName","secret","version","isCryptoKeyPair","hmacSignVerify","hmac","computedBuffer","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","sig","sign","verifier","verify","edSignVerify","isSign","expectedKeyType","curveType","ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","mldsaSignVerify","signVerify","cipherOrWrap","op","Set","generateKey","importKey","deriveBits","wrapKey","unwrapKey","encapsulateBits","decapsulateBits","encapsulateKey","decapsulateKey","ASYMMETRIC_ALGORITHMS","Subtle","supports","operation","_lengthOrAdditionalAlgorithm","has","additionalAlg","supported","deriveKey","derivedKeyAlgorithm","getKeyLength","derivedBits","pqcAlgos","wrappingKey","wrapAlgorithm","jwkString","JSON","stringify","paddedLength","paddedBuffer","alloc","copy","writeUInt8","wrappedKey","unwrappingKey","unwrapAlgorithm","unwrappedKeyAlgorithm","decrypted","nullIndex","indexOf","toString","trim","parse","getPublicKey","publicKeyObject","toCryptoKey","_encapsulateCore","variant","mlkem","setPublicKey","encapsulateSync","_decapsulateCore","ciphertext","setPrivateKey","decapsulateSync","sharedKeyAlgorithm","sharedKey","importedKey","subtle","hmacAlg"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","SBuffer","KFormatType","KeyEncoding","KeyType","kNamedCurveAliases","CryptoKey","KeyObject","PublicKeyObject","PrivateKeyObject","SecretKeyObject","bufferLikeToArrayBuffer","argon2Sync","lazyDOMException","normalizeHashName","HashContext","validateJwkStructure","validateMaxBufferLength","asyncDigest","createSecretKey","createPublicKey","NitroModules","pbkdf2DeriveBits","ecImportKey","ecdsaSignVerify","ec_generateKeyPair","ecDeriveBits","rsa_generateKeyPair","getRandomValues","createHmac","timingSafeEqual","createSign","createVerify","ed_generateKeyPairWebCrypto","x_generateKeyPairWebCrypto","xDeriveBits","Ed","mldsa_generateKeyPairWebCrypto","slhdsa_generateKeyPairWebCrypto","SLH_DSA_VARIANTS","mlkem_generateKeyPairWebCrypto","MlKem","hkdfDeriveBits","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","requireArgs","actual","required","method","TypeError","_canonicalAlgorithmNames","getCanonicalAlgorithmNames","map","Map","set","Object","values","SUPPORTED_ALGORITHMS","name","toLowerCase","normalizeAlgorithm","algorithm","_operation","get","canonical","getAlgorithmName","length","aliasKeyFormat","format","kUncompressedSpkiLength","ecExportKey","key","keyObject","kWebCryptoKeyFormatRaw","handle","exportKey","kWebCryptoKeyFormatSPKI","exported","export","type","namedCurve","expected","undefined","byteLength","jwk","exportJwk","x","y","from","raw","Uint8Array","tmp","createHybridObject","curveAlias","initECRaw","buffer","DER","SPKI","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","hashAlgorithm","hash","label","rsaCipherModule","RSA_PKCS1_OAEP_PADDING","encrypt","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","aesOcbCipher","counter","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","aesAeadCipher","config","additionalData","tagLength","validTagLengths","algorithmName","tagByteLength","cipherSuffix","authTagLen","processData","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","authTag","setAuthTag","setAAD","tag","getAuthTag","ivBuffer","aesKwCipher","isWrap","exportedKey","defaultWrapIV","chaCha20Poly1305Cipher","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","keyAlgorithm","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","WebCrypto","kmacGenerateKey","defaultLength","kmacSignVerify","signature","outputLength","outputLengthBits","outputLengthBytes","keyData","kmac","customizationBuffer","customization","createKmac","computed","digest","sigBuffer","kmacImportKey","kty","expectedAlg","alg","keyType","initJwk","err","cause","rsaImportKey","checkSet","checkUsages","expectedUse","jwkContext","JwkRsa","JwkRsaPss","JwkRsaOaep","PUBLIC","PRIVATE","createKeyObject","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","normalizedHash","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","keyBitLength","normalizedAlgorithm","aesImportKey","requiresRawSecret","acceptsRaw","actualLength","edImportKey","isX","allowedUsages","init","jwkData","crv","PQC_SEEDLESS_PKCS8_LENGTHS","PQC_FAMILY","pqcImportKeyObject","isPublic","ab","family","initPqcRaw","priv","pqcIsPublicImport","validatePqcJwk","validatePqcFormat","mldsaImportKey","slhdsaImportKey","mlkemImportKey","exportKeySpki","exportKeyPkcs8","startsWith","exportKeyRaw","isSecret","exportSecret","byteOffset","exportRawPublic","fail","exportKeyJWK","key_ops","ext","JwkHmac","pbkdf2ImportKey","checkLength","isBuffer","argon2ImportKey","hkdfImportKey","checkCryptoKeyPairUsages","pair","privateKey","argon2DeriveBits","baseKey","nonce","parallelism","memory","passes","secretValue","associatedData","message","algName","secret","version","isCryptoKeyPair","hmacSignVerify","hmac","computedBuffer","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","sig","sign","verifier","verify","edSignVerify","isSign","expectedKeyType","curveType","ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","mldsaSignVerify","signVerify","cipherOrWrap","Set","generateKey","importKey","deriveBits","wrapKey","unwrapKey","encapsulateBits","decapsulateBits","encapsulateKey","decapsulateKey","ASYMMETRIC_ALGORITHMS","validateKdfDeriveBitsLength","supportsCheck","op","supported","has","supportsImpl","operation","lengthOrAdditionalAlgorithm","additional","getKeyLength","normalized","normalizedAdd","addLen","Subtle","supports","arguments","deriveKey","derivedKeyAlgorithm","normalizedDerivedKeyAlgorithm","derivedBits","pqcAlgos","wrappingKey","wrapAlgorithm","normalizedWrapAlgorithm","jwkString","JSON","stringify","paddedLength","paddedBuffer","alloc","copy","writeUInt8","wrappedKey","unwrappingKey","unwrapAlgorithm","unwrappedKeyAlgorithm","normalizedUnwrapAlgorithm","decrypted","nullIndex","indexOf","toString","trim","parse","getPublicKey","publicKeyObject","toCryptoKey","_encapsulateCore","variant","mlkem","setPublicKey","encapsulateSync","_decapsulateCore","ciphertext","setPrivateKey","decapsulateSync","sharedKeyAlgorithm","sharedKey","importedKey","subtle","getHmacBlockSize"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,29 @@ if (isHermes) {
27
27
  }
28
28
  }
29
29
 
30
+ // WebCrypto / Web IDL §BufferSource: SharedArrayBuffer-backed inputs must
31
+ // be rejected. Concurrent writes from another worker during async crypto
32
+ // can corrupt computations or leak intermediate state, so even copying
33
+ // the source isn't safe (the copy itself races). Reject at conversion.
34
+ // See Node's `lib/internal/webidl.js` BufferSource converter (commit
35
+ // bee10872588) — it throws TypeError, matching the WebIDL spec.
36
+ //
37
+ // We apply this guard to *every* conversion helper, not just the ones
38
+ // reached from `subtle.*`. That's deliberately stricter than Node, whose
39
+ // classic APIs (`createHash().update`, `createHmac().update`,
40
+ // `createCipheriv().update`, etc.) accept SAB-backed views. The TOCTOU
41
+ // concern is the same on either side of the WebCrypto / classic line, so
42
+ // we prefer the safer default everywhere.
43
+ export function rejectSharedArrayBuffer(buf) {
44
+ if (typeof SharedArrayBuffer === 'undefined') return;
45
+ if (buf instanceof SharedArrayBuffer) {
46
+ throw new TypeError('SharedArrayBuffer is not a supported BufferSource');
47
+ }
48
+ if (ArrayBuffer.isView(buf) && buf.buffer instanceof SharedArrayBuffer) {
49
+ throw new TypeError('View on a SharedArrayBuffer is not a supported BufferSource');
50
+ }
51
+ }
52
+
30
53
  /**
31
54
  * Returns the underlying ArrayBuffer of a Buffer / TypedArray view **without
32
55
  * copying**, ignoring `byteOffset`/`byteLength`. The full backing storage is
@@ -39,6 +62,7 @@ if (isHermes) {
39
62
  * view's region and won't leak unrelated bytes from the backing buffer.
40
63
  */
41
64
  export const abvToArrayBuffer = buf => {
65
+ rejectSharedArrayBuffer(buf);
42
66
  if (CraftzdogBuffer.isBuffer(buf)) {
43
67
  return buf.buffer;
44
68
  }
@@ -70,6 +94,8 @@ export function toArrayBuffer(buf) {
70
94
  return ab;
71
95
  }
72
96
  export function bufferLikeToArrayBuffer(buf) {
97
+ rejectSharedArrayBuffer(buf);
98
+
73
99
  // Buffer
74
100
  if (CraftzdogBuffer.isBuffer(buf) || SafeBuffer.isBuffer(buf)) {
75
101
  return toArrayBuffer(buf);
@@ -83,23 +109,13 @@ export function bufferLikeToArrayBuffer(buf) {
83
109
  if (buf instanceof ArrayBuffer) {
84
110
  return buf;
85
111
  }
86
-
87
- // If buf is a SharedArrayBuffer, convert it to ArrayBuffer.
88
- // This typically involves a copy of the data.
89
- if (typeof SharedArrayBuffer !== 'undefined' && buf instanceof SharedArrayBuffer) {
90
- const arrayBuffer = new ArrayBuffer(buf.byteLength);
91
- new Uint8Array(arrayBuffer).set(new Uint8Array(buf));
92
- return arrayBuffer;
93
- }
94
-
95
- // If we reach here, 'buf' is of a type within BufferLike that has not been handled by the above checks.
96
- // This indicates either an incomplete BufferLike definition or an unexpected input type.
97
- // Throw an error to signal this, ensuring the function's contract (return ArrayBuffer or throw) is met.
98
- throw new TypeError('Input must be a Buffer, ArrayBufferView, ArrayBuffer, or SharedArrayBuffer.');
112
+ throw new TypeError('Input must be a Buffer, ArrayBufferView, or ArrayBuffer.');
99
113
  }
100
114
  export function binaryLikeToArrayBuffer(input,
101
115
  // CipherKey adds compat with node types
102
116
  encoding = 'utf-8') {
117
+ rejectSharedArrayBuffer(input);
118
+
103
119
  // string
104
120
  if (typeof input === 'string') {
105
121
  if (encoding === 'buffer') {
@@ -150,16 +166,32 @@ encoding = 'utf-8') {
150
166
  }
151
167
  throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
152
168
  }
153
- export function ab2str(buf, encoding = 'hex') {
169
+ export function ab2str(buf, encoding = 'hex', start, end) {
154
170
  if (nativeBufferToStringEncodings.has(encoding)) {
155
- return utils.bufferToString(buf, encoding);
171
+ return bufferToString(buf, encoding, start, end);
156
172
  }
157
- return CraftzdogBuffer.from(buf).toString(encoding);
173
+ return CraftzdogBuffer.from(buf).toString(encoding, start, end);
158
174
  }
159
175
 
160
- /** Native C++ buffer-to-string exposed for benchmarking */
161
- export function bufferToString(buf, encoding = 'hex') {
162
- return utils.bufferToString(buf, encoding);
176
+ /** Native C++ buffer-to-string with arguments normalization*/
177
+ export function bufferToString(buf, encoding = 'hex', start, end) {
178
+ // https://github.com/nodejs/node/blob/v24.15.0/lib/buffer.js#L915-L928
179
+ if (start === undefined || start < 0) {
180
+ start = 0;
181
+ } else if (start >= buf.byteLength) {
182
+ return '';
183
+ } else {
184
+ start = Math.trunc(start) || 0;
185
+ }
186
+ if (end === undefined || end > buf.byteLength) {
187
+ end = buf.byteLength;
188
+ } else {
189
+ end = Math.trunc(end) || 0;
190
+ }
191
+ if (end <= start) {
192
+ return '';
193
+ }
194
+ return utils.bufferToString(buf, encoding, start, end);
163
195
  }
164
196
 
165
197
  /** Native C++ string-to-buffer — exposed for benchmarking */
@@ -1 +1 @@
1
- {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","abvToArrayBuffer","buf","isBuffer","buffer","ArrayBuffer","isView","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","SharedArrayBuffer","arrayBuffer","set","TypeError","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","ab2str","bufferToString","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","NitroModules","Platform","utils","createHybridObject","isHermes","global","HermesInternal","canGetU16StringFromJsiString","constants","reactNativeVersion","major","minor","canCreateJsiStringFromUtf16","baseNativeEncodings","nativeStringToBufferEncodings","Set","nativeBufferToStringEncodings","add","rejectSharedArrayBuffer","buf","SharedArrayBuffer","TypeError","ArrayBuffer","isView","buffer","abvToArrayBuffer","isBuffer","toArrayBuffer","slice","byteOffset","byteLength","ab","length","view","Uint8Array","i","readUInt8","bufferLikeToArrayBuffer","binaryLikeToArrayBuffer","input","encoding","Error","has","stringToBuffer","from","Object","prototype","toString","call","handle","exportKey","ab2str","start","end","bufferToString","undefined","Math","trunc","str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,67 @@
1
1
  "use strict";
2
2
 
3
+ // Hermes (React Native) does not implement DOMException natively. Use it when
4
+ // the host provides one; otherwise fall back to an Error subclass that exposes
5
+ // the WebCrypto-relevant surface (.name, .message, .code) so consumers that
6
+ // branch on `err.name === 'InvalidAccessError'` see the spec-correct value.
7
+ const DOM_EXCEPTION_CODES = {
8
+ IndexSizeError: 1,
9
+ HierarchyRequestError: 3,
10
+ WrongDocumentError: 4,
11
+ InvalidCharacterError: 5,
12
+ NoModificationAllowedError: 7,
13
+ NotFoundError: 8,
14
+ NotSupportedError: 9,
15
+ InUseAttributeError: 10,
16
+ InvalidStateError: 11,
17
+ SyntaxError: 12,
18
+ InvalidModificationError: 13,
19
+ NamespaceError: 14,
20
+ InvalidAccessError: 15,
21
+ TypeMismatchError: 17,
22
+ SecurityError: 18,
23
+ NetworkError: 19,
24
+ AbortError: 20,
25
+ URLMismatchError: 21,
26
+ QuotaExceededError: 22,
27
+ TimeoutError: 23,
28
+ InvalidNodeTypeError: 24,
29
+ DataCloneError: 25
30
+ };
31
+ const HostDOMException = globalThis.DOMException;
32
+ class FallbackDOMException extends Error {
33
+ constructor(message, name) {
34
+ super(message);
35
+ this.name = name;
36
+ this.code = DOM_EXCEPTION_CODES[name] ?? 0;
37
+ }
38
+ }
3
39
  export function lazyDOMException(message, domName) {
4
- let cause = '';
5
- if (typeof domName !== 'string') {
6
- cause = `\nCaused by: ${domName.cause}`;
40
+ const name = typeof domName === 'string' ? domName : domName.name;
41
+ const cause = typeof domName === 'string' ? undefined : domName.cause;
42
+ let err;
43
+ if (HostDOMException) {
44
+ err = cause !== undefined ? new HostDOMException(message, {
45
+ name,
46
+ cause
47
+ }) : new HostDOMException(message, name);
48
+ } else {
49
+ err = new FallbackDOMException(message, name);
50
+ if (cause !== undefined) {
51
+ err.cause = cause;
52
+ }
53
+ }
54
+ return err;
55
+ }
56
+
57
+ // QuotaExceededError carries `quota` and `requested` numeric fields per the
58
+ // WebIDL spec (https://webidl.spec.whatwg.org/#quotaexceedederror). DOMException
59
+ // in legacy hosts does not expose these, so always use our subclass.
60
+ export class QuotaExceededError extends FallbackDOMException {
61
+ constructor(message, options = {}) {
62
+ super(message, 'QuotaExceededError');
63
+ this.quota = options.quota ?? null;
64
+ this.requested = options.requested ?? null;
7
65
  }
8
- return new Error(`[${domName}]: ${message}${cause}`);
9
66
  }
10
67
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["lazyDOMException","message","domName","cause","Error"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":";;AAOA,OAAO,SAASA,gBAAgBA,CAACC,OAAe,EAAEC,OAAgB,EAAS;EACzE,IAAIC,KAAK,GAAG,EAAE;EACd,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;IAC/BC,KAAK,GAAG,gBAAgBD,OAAO,CAACC,KAAK,EAAE;EACzC;EAEA,OAAO,IAAIC,KAAK,CAAC,IAAIF,OAAO,MAAMD,OAAO,GAAGE,KAAK,EAAE,CAAC;AACtD","ignoreList":[]}
1
+ {"version":3,"names":["DOM_EXCEPTION_CODES","IndexSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","HostDOMException","globalThis","DOMException","FallbackDOMException","Error","constructor","message","name","code","lazyDOMException","domName","cause","undefined","err","options","quota","requested"],"sourceRoot":"../../../src","sources":["utils/errors.ts"],"mappings":";;AAOA;AACA;AACA;AACA;AACA,MAAMA,mBAA2C,GAAG;EAClDC,cAAc,EAAE,CAAC;EACjBC,qBAAqB,EAAE,CAAC;EACxBC,kBAAkB,EAAE,CAAC;EACrBC,qBAAqB,EAAE,CAAC;EACxBC,0BAA0B,EAAE,CAAC;EAC7BC,aAAa,EAAE,CAAC;EAChBC,iBAAiB,EAAE,CAAC;EACpBC,mBAAmB,EAAE,EAAE;EACvBC,iBAAiB,EAAE,EAAE;EACrBC,WAAW,EAAE,EAAE;EACfC,wBAAwB,EAAE,EAAE;EAC5BC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,iBAAiB,EAAE,EAAE;EACrBC,aAAa,EAAE,EAAE;EACjBC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAE,EAAE;EACdC,gBAAgB,EAAE,EAAE;EACpBC,kBAAkB,EAAE,EAAE;EACtBC,YAAY,EAAE,EAAE;EAChBC,oBAAoB,EAAE,EAAE;EACxBC,cAAc,EAAE;AAClB,CAAC;AAED,MAAMC,gBAA4D,GAChEC,UAAU,CACVC,YAAY;AAEd,MAAMC,oBAAoB,SAASC,KAAK,CAAC;EAEvCC,WAAWA,CAACC,OAAe,EAAEC,IAAY,EAAE;IACzC,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAG/B,mBAAmB,CAAC8B,IAAI,CAAC,IAAI,CAAC;EAC5C;AACF;AAEA,OAAO,SAASE,gBAAgBA,CAACH,OAAe,EAAEI,OAAgB,EAAS;EACzE,MAAMH,IAAI,GAAG,OAAOG,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGA,OAAO,CAACH,IAAI;EACjE,MAAMI,KAAK,GAAG,OAAOD,OAAO,KAAK,QAAQ,GAAGE,SAAS,GAAGF,OAAO,CAACC,KAAK;EAErE,IAAIE,GAAU;EACd,IAAIb,gBAAgB,EAAE;IACpBa,GAAG,GACDF,KAAK,KAAKC,SAAS,GACf,IAAIZ,gBAAgB,CAACM,OAAO,EAAE;MAAEC,IAAI;MAAEI;IAAM,CAAU,CAAC,GACvD,IAAIX,gBAAgB,CAACM,OAAO,EAAEC,IAAI,CAAC;EAC3C,CAAC,MAAM;IACLM,GAAG,GAAG,IAAIV,oBAAoB,CAACG,OAAO,EAAEC,IAAI,CAAC;IAC7C,IAAII,KAAK,KAAKC,SAAS,EAAE;MACtBC,GAAG,CAAiCF,KAAK,GAAGA,KAAK;IACpD;EACF;EACA,OAAOE,GAAG;AACZ;;AAEA;AACA;AACA;AACA,OAAO,MAAMjB,kBAAkB,SAASO,oBAAoB,CAAC;EAG3DE,WAAWA,CACTC,OAAe,EACfQ,OAA+C,GAAG,CAAC,CAAC,EACpD;IACA,KAAK,CAACR,OAAO,EAAE,oBAAoB,CAAC;IACpC,IAAI,CAACS,KAAK,GAAGD,OAAO,CAACC,KAAK,IAAI,IAAI;IAClC,IAAI,CAACC,SAAS,GAAGF,OAAO,CAACE,SAAS,IAAI,IAAI;EAC5C;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["KFormatType","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;AAE8C;;AAgG9C;;AA8KA;AACA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAMnB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAOvB,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AASrB,OAAO,MAAMC,kBAAkB,GAAG;EAChC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE;AACX,CAAU;AACV;;AA0IA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AAuBtB;AACA;AACA;;AAqCA","ignoreList":[]}
1
+ {"version":3,"names":["KFormatType","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;AAE8C;;AAkI9C;;AAqLA;AACA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,WAAYC,OAAO,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAMnB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAOvB,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AASrB,OAAO,MAAMC,kBAAkB,GAAG;EAChC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE;AACX,CAAU;AACV;;AA0JA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AAuBtB;AACA;AACA;;AA4CA","ignoreList":[]}