react-native-quick-crypto 1.0.11 → 1.0.13
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 +7 -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 +10 -1
- package/cpp/cipher/HybridCipher.hpp +2 -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/ecdh/HybridECDH.cpp +20 -133
- package/cpp/keys/HybridKeyObjectHandle.cpp +144 -141
- 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/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/cipher.js +15 -2
- package/lib/commonjs/cipher.js.map +1 -1
- package/lib/commonjs/dhKeyPair.js +3 -3
- package/lib/commonjs/dhKeyPair.js.map +1 -1
- package/lib/commonjs/dsa.js +3 -3
- package/lib/commonjs/dsa.js.map +1 -1
- package/lib/commonjs/ec.js +18 -18
- package/lib/commonjs/ec.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 +22 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/keys/classes.js +2 -2
- package/lib/commonjs/keys/classes.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/publicCipher.js +2 -2
- package/lib/commonjs/keys/publicCipher.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/rsa.js +7 -7
- package/lib/commonjs/rsa.js.map +1 -1
- 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/x509certificate.nitro.js +6 -0
- package/lib/commonjs/specs/x509certificate.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +292 -112
- 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/cipher.js +16 -3
- package/lib/module/cipher.js.map +1 -1
- package/lib/module/dhKeyPair.js +1 -1
- package/lib/module/dhKeyPair.js.map +1 -1
- package/lib/module/dsa.js +1 -1
- package/lib/module/dsa.js.map +1 -1
- package/lib/module/ec.js +6 -6
- package/lib/module/ec.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 +6 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/keys/classes.js +2 -2
- package/lib/module/keys/classes.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/publicCipher.js +2 -2
- package/lib/module/keys/publicCipher.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/rsa.js +1 -1
- package/lib/module/rsa.js.map +1 -1
- 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/x509certificate.nitro.js +4 -0
- package/lib/module/specs/x509certificate.nitro.js.map +1 -0
- package/lib/module/subtle.js +292 -112
- 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/cipher.d.ts +3 -0
- package/lib/typescript/cipher.d.ts.map +1 -1
- package/lib/typescript/dhKeyPair.d.ts +1 -1
- package/lib/typescript/dhKeyPair.d.ts.map +1 -1
- package/lib/typescript/dsa.d.ts +1 -1
- package/lib/typescript/dsa.d.ts.map +1 -1
- package/lib/typescript/ec.d.ts +1 -1
- package/lib/typescript/ec.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 +15 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/keys/classes.d.ts +5 -5
- package/lib/typescript/keys/classes.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/rsa.d.ts +1 -1
- package/lib/typescript/rsa.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/x509certificate.nitro.d.ts +34 -0
- package/lib/typescript/specs/x509certificate.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts +10 -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 +13 -7
- 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 +3 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +30 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +30 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +12 -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++/HybridX509CertificateHandleSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridX509CertificateHandleSpec.hpp +96 -0
- package/package.json +4 -1
- package/src/cipher.ts +17 -3
- package/src/dhKeyPair.ts +1 -1
- package/src/dsa.ts +1 -1
- package/src/ec.ts +9 -9
- package/src/ed.ts +2 -2
- package/src/hash.ts +34 -11
- package/src/hkdf.ts +2 -7
- package/src/index.ts +7 -0
- package/src/keys/classes.ts +10 -9
- package/src/keys/index.ts +37 -2
- package/src/keys/publicCipher.ts +2 -2
- package/src/keys/signVerify.ts +0 -5
- package/src/mlkem.ts +350 -0
- package/src/pbkdf2.ts +34 -5
- package/src/rsa.ts +1 -1
- 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/x509certificate.nitro.ts +38 -0
- package/src/subtle.ts +551 -125
- package/src/utils/conversion.ts +10 -4
- package/src/utils/hashnames.ts +33 -2
- package/src/utils/types.ts +42 -5
- package/src/x509certificate.ts +277 -0
package/lib/module/subtle.js.map
CHANGED
|
@@ -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","createSign","createVerify","ed_generateKeyPairWebCrypto","x_generateKeyPairWebCrypto","xDeriveBits","Ed","mldsa_generateKeyPairWebCrypto","hkdfDeriveBits","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","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","undefined","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","set","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","extractable","keyUsages","validUsages","keyBytes","keyAlgorithm","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","WebCrypto","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","keyData","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","mldsaImportKey","exportKeySpki","exportKeyPkcs8","exportKeyRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","hkdfImportKey","checkCryptoKeyPairUsages","pair","privateKey","argon2DeriveBits","baseKey","nonce","parallelism","memory","passes","secretValue","associatedData","message","algName","toLowerCase","secret","version","isCryptoKeyPair","hmacSignVerify","signature","hmac","computed","digest","sigBytes","computedBytes","i","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","SUPPORTED_ALGORITHMS","Set","generateKey","importKey","deriveBits","wrapKey","unwrapKey","ASYMMETRIC_ALGORITHMS","Subtle","supports","operation","_lengthOrAdditionalAlgorithm","has","additionalAlg","supported","deriveKey","derivedKeyAlgorithm","getKeyLength","derivedBits","wrappingKey","wrapAlgorithm","jwkString","JSON","stringify","paddedLength","paddedBuffer","alloc","copy","writeUInt8","wrappedKey","unwrappingKey","unwrapAlgorithm","unwrappedKeyAlgorithm","decrypted","nullIndex","indexOf","toString","trim","parse","getPublicKey","publicKeyObject","toCryptoKey","keyAlg","expectedDigest","expected","signatureArray","subtle","hmacAlg"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
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","normalizeAlgorithm","algorithm","_operation","name","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","undefined","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","set","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","extractable","keyUsages","validUsages","keyBytes","keyAlgorithm","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","WebCrypto","kmacGenerateKey","defaultLength","kmacSignVerify","signature","outputLengthBits","outputLengthBytes","keyData","kmac","customizationBuffer","customization","createKmac","computed","digest","sigBuffer","kmacImportKey","jwk","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","key_ops","ext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","hkdfImportKey","checkCryptoKeyPairUsages","pair","privateKey","argon2DeriveBits","baseKey","nonce","parallelism","memory","passes","secretValue","associatedData","message","algName","toLowerCase","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","SUPPORTED_ALGORITHMS","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":[]}
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { Buffer as CraftzdogBuffer } from '@craftzdog/react-native-buffer';
|
|
4
4
|
import { Buffer as SafeBuffer } from 'safe-buffer';
|
|
5
|
-
import { KeyObject } from '../keys/classes';
|
|
6
|
-
|
|
7
5
|
/**
|
|
8
6
|
* Converts supplied argument to an ArrayBuffer. Note this does not copy the
|
|
9
7
|
* data so it is faster than toArrayBuffer. Not copying is important for
|
|
@@ -114,8 +112,9 @@ encoding = 'utf-8') {
|
|
|
114
112
|
// }
|
|
115
113
|
// }
|
|
116
114
|
|
|
117
|
-
// KeyObject
|
|
118
|
-
|
|
115
|
+
// KeyObject — duck-typed via Symbol.toStringTag to avoid circular dependency
|
|
116
|
+
// with keys/classes. The type assertion must match KeyObjectHandle.exportKey().
|
|
117
|
+
if (typeof input === 'object' && input != null && Object.prototype.toString.call(input) === '[object KeyObject]') {
|
|
119
118
|
return input.handle.exportKey();
|
|
120
119
|
}
|
|
121
120
|
throw new Error('Invalid argument type for "key". Need ArrayBuffer, TypedArray, KeyObject, CryptoKey, string');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","
|
|
1
|
+
{"version":3,"names":["Buffer","CraftzdogBuffer","SafeBuffer","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","from","Object","prototype","toString","call","handle","exportKey","ab2str","kEmptyObject","freeze","create"],"sourceRoot":"../../../src","sources":["utils/conversion.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,6 +59,26 @@ const kHashNames = {
|
|
|
59
59
|
ripemd160: {
|
|
60
60
|
[HashContext.Node]: 'ripemd160',
|
|
61
61
|
[HashContext.WebCrypto]: 'RIPEMD-160'
|
|
62
|
+
},
|
|
63
|
+
'sha3-256': {
|
|
64
|
+
[HashContext.Node]: 'sha3-256',
|
|
65
|
+
[HashContext.WebCrypto]: 'SHA3-256'
|
|
66
|
+
},
|
|
67
|
+
'sha3-384': {
|
|
68
|
+
[HashContext.Node]: 'sha3-384',
|
|
69
|
+
[HashContext.WebCrypto]: 'SHA3-384'
|
|
70
|
+
},
|
|
71
|
+
'sha3-512': {
|
|
72
|
+
[HashContext.Node]: 'sha3-512',
|
|
73
|
+
[HashContext.WebCrypto]: 'SHA3-512'
|
|
74
|
+
},
|
|
75
|
+
shake128: {
|
|
76
|
+
[HashContext.Node]: 'shake128',
|
|
77
|
+
[HashContext.WebCrypto]: 'cSHAKE128'
|
|
78
|
+
},
|
|
79
|
+
shake256: {
|
|
80
|
+
[HashContext.Node]: 'shake256',
|
|
81
|
+
[HashContext.WebCrypto]: 'cSHAKE256'
|
|
62
82
|
}
|
|
63
83
|
};
|
|
64
84
|
{
|
|
@@ -71,6 +91,17 @@ const kHashNames = {
|
|
|
71
91
|
if (kHashNames[alias] === undefined) kHashNames[alias] = kHashNames[keys[n]];
|
|
72
92
|
}
|
|
73
93
|
}
|
|
94
|
+
|
|
95
|
+
// Add OpenSSL legacy RSA-* aliases (e.g. RSA-SHA256 -> sha256)
|
|
96
|
+
for (let n = 0; n < keys.length; n++) {
|
|
97
|
+
const key = keys[n];
|
|
98
|
+
if (key.startsWith('sha') || key === 'ripemd160') {
|
|
99
|
+
const rsaAlias = 'rsa-' + key;
|
|
100
|
+
if (kHashNames[rsaAlias] === undefined) {
|
|
101
|
+
kHashNames[rsaAlias] = kHashNames[key];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
74
105
|
}
|
|
75
106
|
export function normalizeHashName(algo, context = HashContext.Node) {
|
|
76
107
|
if (typeof algo !== 'undefined') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HashContext","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","normalizeHashName","algo","context","hashName","name","toString","normAlgo","_e","Error"],"sourceRoot":"../../../src","sources":["utils/hashnames.ts"],"mappings":";;AAEA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AASvB;AACA;AACA;AACA;;AAMA,MAAMC,UAAqB,GAAG;EAC5BC,IAAI,EAAE;IACJ,CAACF,WAAW,CAACG,IAAI,GAAG,MAAM;IAC1B,CAACH,WAAW,CAACI,SAAS,GAAG,OAAO;IAChC,CAACJ,WAAW,CAACK,MAAM,GAAG,KAAK;IAC3B,CAACL,WAAW,CAACM,SAAS,GAAG,KAAK;IAC9B,CAACN,WAAW,CAACO,UAAU,GAAG,UAAU;IACpC,CAACP,WAAW,CAACQ,OAAO,GAAG;EACzB,CAAC;EACDC,MAAM,EAAE;IACN,CAACT,WAAW,CAACG,IAAI,GAAG,QAAQ;IAC5B,CAACH,WAAW,CAACI,SAAS,GAAG,SAAS;IAClC,CAACJ,WAAW,CAACK,MAAM,GAAG,OAAO;IAC7B,CAACL,WAAW,CAACM,SAAS,GAAG,OAAO;IAChC,CAACN,WAAW,CAACO,UAAU,GAAG,cAAc;IACxC,CAACP,WAAW,CAACQ,OAAO,GAAG;EACzB,CAAC;EACDE,MAAM,EAAE;IACN,CAACV,WAAW,CAACG,IAAI,GAAG,QAAQ;IAC5B,CAACH,WAAW,CAACI,SAAS,GAAG,SAAS;IAClC,CAACJ,WAAW,CAACK,MAAM,GAAG,OAAO;IAC7B,CAACL,WAAW,CAACM,SAAS,GAAG,OAAO;IAChC,CAACN,WAAW,CAACO,UAAU,GAAG,cAAc;IACxC,CAACP,WAAW,CAACQ,OAAO,GAAG;EACzB,CAAC;EACDG,MAAM,EAAE;IACN,CAACX,WAAW,CAACG,IAAI,GAAG,QAAQ;IAC5B,CAACH,WAAW,CAACI,SAAS,GAAG,SAAS;IAClC,CAACJ,WAAW,CAACK,MAAM,GAAG,OAAO;IAC7B,CAACL,WAAW,CAACM,SAAS,GAAG,OAAO;IAChC,CAACN,WAAW,CAACO,UAAU,GAAG,cAAc;IACxC,CAACP,WAAW,CAACQ,OAAO,GAAG;EACzB,CAAC;EACDI,MAAM,EAAE;IACN,CAACZ,WAAW,CAACG,IAAI,GAAG,QAAQ;IAC5B,CAACH,WAAW,CAACI,SAAS,GAAG,SAAS;IAClC,CAACJ,WAAW,CAACK,MAAM,GAAG,OAAO;IAC7B,CAACL,WAAW,CAACM,SAAS,GAAG,OAAO;IAChC,CAACN,WAAW,CAACO,UAAU,GAAG,cAAc;IACxC,CAACP,WAAW,CAACQ,OAAO,GAAG;EACzB,CAAC;EACDK,SAAS,EAAE;IACT,CAACb,WAAW,CAACG,IAAI,GAAG,WAAW;IAC/B,CAACH,WAAW,CAACI,SAAS,GAAG;EAC3B;AACF,CAAC;AAED;EACE;EACA,
|
|
1
|
+
{"version":3,"names":["HashContext","kHashNames","sha1","Node","WebCrypto","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","sha224","sha256","sha384","sha512","ripemd160","shake128","shake256","keys","Object","n","length","contexts","i","alias","toLowerCase","undefined","key","startsWith","rsaAlias","normalizeHashName","algo","context","hashName","name","toString","normAlgo","_e","Error"],"sourceRoot":"../../../src","sources":["utils/hashnames.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KFormatType","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;AAE8C;;
|
|
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":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { Buffer } from '@craftzdog/react-native-buffer';
|
|
5
|
+
import { PublicKeyObject, KeyObject } from './keys';
|
|
6
|
+
import { binaryLikeToArrayBuffer } from './utils';
|
|
7
|
+
const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT = 0x1;
|
|
8
|
+
const X509_CHECK_FLAG_NO_WILDCARDS = 0x2;
|
|
9
|
+
const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS = 0x4;
|
|
10
|
+
const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS = 0x8;
|
|
11
|
+
const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS = 0x10;
|
|
12
|
+
const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT = 0x20;
|
|
13
|
+
function getFlags(options) {
|
|
14
|
+
if (!options) return 0;
|
|
15
|
+
let flags = 0;
|
|
16
|
+
if (options.subject === 'always') {
|
|
17
|
+
flags |= X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT;
|
|
18
|
+
} else if (options.subject === 'never') {
|
|
19
|
+
flags |= X509_CHECK_FLAG_NEVER_CHECK_SUBJECT;
|
|
20
|
+
}
|
|
21
|
+
if (options.wildcards === false) {
|
|
22
|
+
flags |= X509_CHECK_FLAG_NO_WILDCARDS;
|
|
23
|
+
}
|
|
24
|
+
if (options.partialWildcards === false) {
|
|
25
|
+
flags |= X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS;
|
|
26
|
+
}
|
|
27
|
+
if (options.multiLabelWildcards === true) {
|
|
28
|
+
flags |= X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS;
|
|
29
|
+
}
|
|
30
|
+
if (options.singleLabelSubdomains === true) {
|
|
31
|
+
flags |= X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS;
|
|
32
|
+
}
|
|
33
|
+
return flags;
|
|
34
|
+
}
|
|
35
|
+
export class X509Certificate {
|
|
36
|
+
cache = new Map();
|
|
37
|
+
constructor(buffer) {
|
|
38
|
+
this.handle = NitroModules.createHybridObject('X509CertificateHandle');
|
|
39
|
+
let ab;
|
|
40
|
+
if (typeof buffer === 'string') {
|
|
41
|
+
ab = Buffer.from(buffer).buffer;
|
|
42
|
+
} else {
|
|
43
|
+
ab = binaryLikeToArrayBuffer(buffer);
|
|
44
|
+
}
|
|
45
|
+
this.handle.init(ab);
|
|
46
|
+
}
|
|
47
|
+
cached(key, compute) {
|
|
48
|
+
if (this.cache.has(key)) {
|
|
49
|
+
return this.cache.get(key);
|
|
50
|
+
}
|
|
51
|
+
const value = compute();
|
|
52
|
+
this.cache.set(key, value);
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
get subject() {
|
|
56
|
+
return this.cached('subject', () => this.handle.subject());
|
|
57
|
+
}
|
|
58
|
+
get subjectAltName() {
|
|
59
|
+
return this.cached('subjectAltName', () => this.handle.subjectAltName());
|
|
60
|
+
}
|
|
61
|
+
get issuer() {
|
|
62
|
+
return this.cached('issuer', () => this.handle.issuer());
|
|
63
|
+
}
|
|
64
|
+
get infoAccess() {
|
|
65
|
+
return this.cached('infoAccess', () => this.handle.infoAccess());
|
|
66
|
+
}
|
|
67
|
+
get validFrom() {
|
|
68
|
+
return this.cached('validFrom', () => this.handle.validFrom());
|
|
69
|
+
}
|
|
70
|
+
get validTo() {
|
|
71
|
+
return this.cached('validTo', () => this.handle.validTo());
|
|
72
|
+
}
|
|
73
|
+
get validFromDate() {
|
|
74
|
+
return this.cached('validFromDate', () => new Date(this.handle.validFromDate()));
|
|
75
|
+
}
|
|
76
|
+
get validToDate() {
|
|
77
|
+
return this.cached('validToDate', () => new Date(this.handle.validToDate()));
|
|
78
|
+
}
|
|
79
|
+
get fingerprint() {
|
|
80
|
+
return this.cached('fingerprint', () => this.handle.fingerprint());
|
|
81
|
+
}
|
|
82
|
+
get fingerprint256() {
|
|
83
|
+
return this.cached('fingerprint256', () => this.handle.fingerprint256());
|
|
84
|
+
}
|
|
85
|
+
get fingerprint512() {
|
|
86
|
+
return this.cached('fingerprint512', () => this.handle.fingerprint512());
|
|
87
|
+
}
|
|
88
|
+
get extKeyUsage() {
|
|
89
|
+
return this.cached('extKeyUsage', () => this.handle.keyUsage());
|
|
90
|
+
}
|
|
91
|
+
get keyUsage() {
|
|
92
|
+
return this.extKeyUsage;
|
|
93
|
+
}
|
|
94
|
+
get serialNumber() {
|
|
95
|
+
return this.cached('serialNumber', () => this.handle.serialNumber());
|
|
96
|
+
}
|
|
97
|
+
get signatureAlgorithm() {
|
|
98
|
+
return this.cached('signatureAlgorithm', () => this.handle.signatureAlgorithm());
|
|
99
|
+
}
|
|
100
|
+
get signatureAlgorithmOid() {
|
|
101
|
+
return this.cached('signatureAlgorithmOid', () => this.handle.signatureAlgorithmOid());
|
|
102
|
+
}
|
|
103
|
+
get ca() {
|
|
104
|
+
return this.cached('ca', () => this.handle.ca());
|
|
105
|
+
}
|
|
106
|
+
get raw() {
|
|
107
|
+
return this.cached('raw', () => Buffer.from(this.handle.raw()));
|
|
108
|
+
}
|
|
109
|
+
get publicKey() {
|
|
110
|
+
return this.cached('publicKey', () => new PublicKeyObject(this.handle.publicKey()));
|
|
111
|
+
}
|
|
112
|
+
get issuerCertificate() {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
checkHost(name, options) {
|
|
116
|
+
if (typeof name !== 'string') {
|
|
117
|
+
throw new TypeError('The "name" argument must be a string');
|
|
118
|
+
}
|
|
119
|
+
return this.handle.checkHost(name, getFlags(options));
|
|
120
|
+
}
|
|
121
|
+
checkEmail(email, options) {
|
|
122
|
+
if (typeof email !== 'string') {
|
|
123
|
+
throw new TypeError('The "email" argument must be a string');
|
|
124
|
+
}
|
|
125
|
+
return this.handle.checkEmail(email, getFlags(options));
|
|
126
|
+
}
|
|
127
|
+
checkIP(ip) {
|
|
128
|
+
if (typeof ip !== 'string') {
|
|
129
|
+
throw new TypeError('The "ip" argument must be a string');
|
|
130
|
+
}
|
|
131
|
+
return this.handle.checkIP(ip);
|
|
132
|
+
}
|
|
133
|
+
checkIssued(otherCert) {
|
|
134
|
+
if (!(otherCert instanceof X509Certificate)) {
|
|
135
|
+
throw new TypeError('The "otherCert" argument must be an instance of X509Certificate');
|
|
136
|
+
}
|
|
137
|
+
return this.handle.checkIssued(otherCert.handle);
|
|
138
|
+
}
|
|
139
|
+
checkPrivateKey(pkey) {
|
|
140
|
+
if (!(pkey instanceof KeyObject)) {
|
|
141
|
+
throw new TypeError('The "pkey" argument must be an instance of KeyObject');
|
|
142
|
+
}
|
|
143
|
+
if (pkey.type !== 'private') {
|
|
144
|
+
throw new TypeError('The "pkey" argument must be a private key');
|
|
145
|
+
}
|
|
146
|
+
return this.handle.checkPrivateKey(pkey.handle);
|
|
147
|
+
}
|
|
148
|
+
verify(pkey) {
|
|
149
|
+
if (!(pkey instanceof KeyObject)) {
|
|
150
|
+
throw new TypeError('The "pkey" argument must be an instance of KeyObject');
|
|
151
|
+
}
|
|
152
|
+
if (pkey.type !== 'public') {
|
|
153
|
+
throw new TypeError(`The "pkey" argument must be a public key, got '${pkey.type}'`);
|
|
154
|
+
}
|
|
155
|
+
return this.handle.verify(pkey.handle);
|
|
156
|
+
}
|
|
157
|
+
toString() {
|
|
158
|
+
return this.cached('pem', () => this.handle.pem());
|
|
159
|
+
}
|
|
160
|
+
toJSON() {
|
|
161
|
+
return this.toString();
|
|
162
|
+
}
|
|
163
|
+
toLegacyObject() {
|
|
164
|
+
return {
|
|
165
|
+
subject: this.subject,
|
|
166
|
+
issuer: this.issuer,
|
|
167
|
+
subjectaltname: this.subjectAltName,
|
|
168
|
+
infoAccess: this.infoAccess,
|
|
169
|
+
ca: this.ca,
|
|
170
|
+
modulus: undefined,
|
|
171
|
+
bits: undefined,
|
|
172
|
+
exponent: undefined,
|
|
173
|
+
valid_from: this.validFrom,
|
|
174
|
+
valid_to: this.validTo,
|
|
175
|
+
fingerprint: this.fingerprint,
|
|
176
|
+
fingerprint256: this.fingerprint256,
|
|
177
|
+
fingerprint512: this.fingerprint512,
|
|
178
|
+
ext_key_usage: this.keyUsage,
|
|
179
|
+
serialNumber: this.serialNumber,
|
|
180
|
+
raw: this.raw
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=x509certificate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","Buffer","PublicKeyObject","KeyObject","binaryLikeToArrayBuffer","X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT","X509_CHECK_FLAG_NO_WILDCARDS","X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS","X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS","X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS","X509_CHECK_FLAG_NEVER_CHECK_SUBJECT","getFlags","options","flags","subject","wildcards","partialWildcards","multiLabelWildcards","singleLabelSubdomains","X509Certificate","cache","Map","constructor","buffer","handle","createHybridObject","ab","from","init","cached","key","compute","has","get","value","set","subjectAltName","issuer","infoAccess","validFrom","validTo","validFromDate","Date","validToDate","fingerprint","fingerprint256","fingerprint512","extKeyUsage","keyUsage","serialNumber","signatureAlgorithm","signatureAlgorithmOid","ca","raw","publicKey","issuerCertificate","undefined","checkHost","name","TypeError","checkEmail","email","checkIP","ip","checkIssued","otherCert","checkPrivateKey","pkey","type","verify","toString","pem","toJSON","toLegacyObject","subjectaltname","modulus","bits","exponent","valid_from","valid_to","ext_key_usage"],"sourceRoot":"../../src","sources":["x509certificate.ts"],"mappings":"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","ignoreList":[]}
|