react-native-quick-crypto 1.0.0 → 1.0.1
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/QuickCrypto.podspec +14 -5
- package/android/CMakeLists.txt +4 -2
- package/android/build.gradle +1 -1
- package/cpp/cipher/HybridCipher.cpp +3 -2
- package/cpp/cipher/HybridRsaCipher.cpp +20 -1
- package/cpp/keys/HybridKeyObjectHandle.cpp +8 -0
- package/cpp/keys/KeyObjectData.hpp +1 -1
- package/cpp/mldsa/HybridMlDsaKeyPair.cpp +264 -0
- package/cpp/mldsa/HybridMlDsaKeyPair.hpp +47 -0
- package/cpp/sign/HybridSignHandle.cpp +97 -22
- package/cpp/sign/HybridVerifyHandle.cpp +90 -21
- package/deps/ncrypto/.bazelignore +4 -0
- package/deps/ncrypto/.bazelrc +2 -0
- package/deps/ncrypto/.bazelversion +1 -0
- package/deps/ncrypto/.clang-format +111 -0
- package/deps/ncrypto/.github/workflows/bazel.yml +58 -0
- package/deps/ncrypto/.github/workflows/linter.yml +38 -0
- package/deps/ncrypto/.github/workflows/macos.yml +43 -0
- package/deps/ncrypto/.github/workflows/ubuntu.yml +46 -0
- package/deps/ncrypto/.github/workflows/visual-studio.yml +49 -0
- package/deps/ncrypto/.python-version +1 -0
- package/deps/ncrypto/BUILD.bazel +36 -0
- package/deps/ncrypto/CMakeLists.txt +55 -0
- package/deps/ncrypto/LICENSE +21 -0
- package/deps/ncrypto/MODULE.bazel +1 -0
- package/deps/ncrypto/MODULE.bazel.lock +280 -0
- package/deps/ncrypto/README.md +18 -0
- package/deps/ncrypto/WORKSPACE +15 -0
- package/deps/ncrypto/cmake/CPM.cmake +1225 -0
- package/deps/ncrypto/cmake/ncrypto-flags.cmake +16 -0
- package/deps/ncrypto/include/dh-primes.h +67 -0
- package/deps/ncrypto/{ncrypto.h → include/ncrypto.h} +361 -89
- package/deps/ncrypto/patches/0001-Expose-libdecrepit-so-NodeJS-can-use-it-for-ncrypto.patch +28 -0
- package/deps/ncrypto/pyproject.toml +38 -0
- package/deps/ncrypto/src/CMakeLists.txt +15 -0
- package/deps/ncrypto/src/engine.cpp +93 -0
- package/deps/ncrypto/{ncrypto.cc → src/ncrypto.cpp} +1168 -234
- package/deps/ncrypto/tests/BUILD.bazel +9 -0
- package/deps/ncrypto/tests/CMakeLists.txt +7 -0
- package/deps/ncrypto/tests/basic.cpp +86 -0
- package/deps/ncrypto/tools/run-clang-format.sh +42 -0
- package/lib/commonjs/keys/classes.js +6 -0
- package/lib/commonjs/keys/classes.js.map +1 -1
- package/lib/commonjs/mldsa.js +69 -0
- package/lib/commonjs/mldsa.js.map +1 -0
- package/lib/commonjs/specs/mlDsaKeyPair.nitro.js +6 -0
- package/lib/commonjs/specs/mlDsaKeyPair.nitro.js.map +1 -0
- package/lib/commonjs/subtle.js +111 -6
- package/lib/commonjs/subtle.js.map +1 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/keys/classes.js +6 -0
- package/lib/module/keys/classes.js.map +1 -1
- package/lib/module/mldsa.js +63 -0
- package/lib/module/mldsa.js.map +1 -0
- package/lib/module/specs/mlDsaKeyPair.nitro.js +4 -0
- package/lib/module/specs/mlDsaKeyPair.nitro.js.map +1 -0
- package/lib/module/subtle.js +111 -6
- package/lib/module/subtle.js.map +1 -1
- package/lib/module/utils/types.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/typescript/keys/classes.d.ts +2 -0
- package/lib/typescript/keys/classes.d.ts.map +1 -1
- package/lib/typescript/mldsa.d.ts +18 -0
- package/lib/typescript/mldsa.d.ts.map +1 -0
- package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts +16 -0
- package/lib/typescript/specs/mlDsaKeyPair.nitro.d.ts.map +1 -0
- package/lib/typescript/subtle.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +5 -3
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/nitrogen/generated/android/QuickCrypto+autolinking.cmake +1 -0
- package/nitrogen/generated/android/QuickCryptoOnLoad.cpp +10 -0
- package/nitrogen/generated/ios/QuickCryptoAutolinking.mm +10 -0
- package/nitrogen/generated/shared/c++/AsymmetricKeyType.hpp +12 -0
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.cpp +29 -0
- package/nitrogen/generated/shared/c++/HybridMlDsaKeyPairSpec.hpp +73 -0
- package/package.json +7 -3
- package/src/keys/classes.ts +9 -0
- package/src/mldsa.ts +125 -0
- package/src/specs/mlDsaKeyPair.nitro.ts +29 -0
- package/src/subtle.ts +148 -8
- package/src/utils/types.ts +11 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_safeBuffer","require","_utils","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","_hmac","_signVerify","_ed","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","RSA_PKCS1_OAEP_PADDING","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","hmacGenerateKey","hashName","Math","ceil","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","KFormatType","DER","KeyEncoding","SPKI","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","aesImportKey","actualLength","edImportKey","init","exportKeySpki","exportKey","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","HashContext","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","hmacSignVerify","signature","hmac","createHmac","computed","digest","sigBytes","computedBytes","i","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","createSign","sig","sign","verifier","createVerify","verify","edSignVerify","isSign","expectedKeyType","algorithmName","curveType","toLowerCase","ed","Ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","signVerify","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","normalizedAlgorithm","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","generateKey","rsa_generateKeyPair","ec_generateKeyPair","ed_generateKeyPairWebCrypto","importKey","ecImportKey","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_safeBuffer","require","_utils","_keys","_conversion","_errors","_hashnames","_validation","_hash","_reactNativeNitroModules","_pbkdf","_ec","_rsa","_random","_hmac","_signVerify","_ed","_mldsa","KWebCryptoKeyFormat","CipherOrWrapMode","hasAnyNotIn","usages","allowed","some","usage","includes","normalizeAlgorithm","algorithm","_operation","name","getAlgorithmName","length","ecExportKey","key","format","keyObject","kWebCryptoKeyFormatSPKI","exported","export","type","bufferLikeToArrayBuffer","kWebCryptoKeyFormatPKCS8","Error","rsaExportKey","rsaCipher","mode","data","rsaParams","expectedType","kWebCryptoCipherEncrypt","lazyDOMException","hashAlgorithm","normalizeHashName","hash","label","undefined","rsaCipherModule","NitroModules","createHybridObject","RSA_PKCS1_OAEP_PADDING","encrypt","handle","decrypt","aesCipher","aesCtrCipher","aesCbcCipher","aesGcmCipher","counter","byteLength","keyLength","cipherType","factory","cipher","createCipher","isCipher","cipherKey","iv","updated","update","final","result","Uint8Array","set","buffer","tagLength","validTagLengths","tagByteLength","authTagLen","processData","authTag","kWebCryptoCipherDecrypt","dataView","ciphertextLength","slice","setAuthTag","additionalData","setAAD","tag","getAuthTag","aesGenerateKey","extractable","keyUsages","validUsages","keyBytes","getRandomValues","createSecretKey","keyAlgorithm","CryptoKey","hmacGenerateKey","hashName","Math","ceil","webCryptoHashName","HashContext","WebCrypto","rsaImportKey","checkSet","jwk","kty","keyType","initJwk","PublicKeyObject","PrivateKeyObject","keyData","KeyObject","createKeyObject","KFormatType","DER","KeyEncoding","SPKI","PKCS8","keyDetails","asymmetricKeyDetails","publicExponentBytes","publicExponent","exp","bytes","value","unshift","floor","normalizedHash","algorithmWithDetails","modulusLength","hmacImportKey","k","decoded","SBuffer","from","keyBitLength","SecretKeyObject","normalizedAlgorithm","aesImportKey","actualLength","edImportKey","init","mldsaImportKey","exportKeySpki","exportKey","exportKeyPkcs8","exportKeyRaw","kWebCryptoKeyFormatRaw","byteOffset","exportKeyJWK","exportJwk","key_ops","ext","alg","JwkRsa","JwkRsaPss","JwkRsaOaep","JwkHmac","crv","namedCurve","importGenericSecretKey","checkLength","isBuffer","checkCryptoKeyPairUsages","pair","privateKey","isCryptoKeyPair","hmacSignVerify","signature","hmac","createHmac","computed","digest","sigBytes","computedBytes","i","rsaSignVerify","padding","saltLength","RSA_PKCS1_PADDING","RSA_PKCS1_PSS_PADDING","paddingValue","signer","createSign","sig","sign","verifier","createVerify","verify","edSignVerify","isSign","expectedKeyType","algorithmName","curveType","toLowerCase","ed","Ed","rawKey","dataBuffer","signSync","signatureBuffer","verifySync","mldsaSignVerify","signVerify","ecdsaSignVerify","cipherOrWrap","op","validateMaxBufferLength","Subtle","asyncDigest","deriveBits","baseKey","pbkdf2DeriveBits","generateKey","rsa_generateKeyPair","ec_generateKeyPair","ed_generateKeyPairWebCrypto","mldsa_generateKeyPairWebCrypto","importKey","ecImportKey","exports","subtle"],"sourceRoot":"../../src","sources":["subtle.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KFormatType","exports","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;;;;;AAE8C;
|
|
1
|
+
{"version":3,"names":["KFormatType","exports","KeyType","KeyEncoding","KeyFormat","kNamedCurveAliases","KeyVariant"],"sourceRoot":"../../../src","sources":["utils/types.ts"],"mappings":";;;;;;AAE8C;AAoE9C;AAmIA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAMXE,OAAO,GAAAD,OAAA,CAAAC,OAAA,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA;AAAA,IAMPC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAAA,IAOXC,SAAS,GAAAH,OAAA,CAAAG,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AASd,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAG;EAChC,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,WAAW;EACpB,OAAO,EAAE;AACX,CAAU;AACV;AAAA,IA0IYC,UAAU,GAAAL,OAAA,CAAAK,UAAA,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,OAuBtB;AACA;AACA;AAqCA","ignoreList":[]}
|
|
@@ -5,6 +5,9 @@ import { NitroModules } from 'react-native-nitro-modules';
|
|
|
5
5
|
import { KeyType } from '../utils';
|
|
6
6
|
import { parsePrivateKeyEncoding, parsePublicKeyEncoding } from './utils';
|
|
7
7
|
export class CryptoKey {
|
|
8
|
+
get [Symbol.toStringTag]() {
|
|
9
|
+
return 'CryptoKey';
|
|
10
|
+
}
|
|
8
11
|
constructor(keyObject, keyAlgorithm, keyUsages, keyExtractable) {
|
|
9
12
|
this.keyObject = keyObject;
|
|
10
13
|
this.keyAlgorithm = keyAlgorithm;
|
|
@@ -46,6 +49,9 @@ export class CryptoKey {
|
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
export class KeyObject {
|
|
52
|
+
get [Symbol.toStringTag]() {
|
|
53
|
+
return 'KeyObject';
|
|
54
|
+
}
|
|
49
55
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
56
|
export(_options) {
|
|
51
57
|
// This is a placeholder and should be overridden by subclasses.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","NitroModules","KeyType","parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","handleOrKey","ArrayBuffer","handle","createHybridObject","keyType","PUBLIC","PRIVATE","SECRET","init","createKeyObject","key","format","encoding","undefined","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","getAsymmetricKeyDetails","options","exportKey","from","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","buffer","toString","passphrase","cipher"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,YAAY,QAAQ,4BAA4B;AASzD,SAASC,OAAO,QAAkC,UAAU;AAC5D,SAASC,uBAAuB,EAAEC,sBAAsB,QAAQ,SAAS;AAEzE,OAAO,MAAMC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"names":["Buffer","NitroModules","KeyType","parsePrivateKeyEncoding","parsePublicKeyEncoding","CryptoKey","Symbol","toStringTag","constructor","keyObject","keyAlgorithm","keyUsages","keyExtractable","inspect","_depth","_options","Error","type","extractable","algorithm","usages","KeyObject","export","handleOrKey","ArrayBuffer","handle","createHybridObject","keyType","PUBLIC","PRIVATE","SECRET","init","createKeyObject","key","format","encoding","undefined","getAsymmetricKeyType","PublicKeyObject","PrivateKeyObject","SecretKeyObject","getAsymmetricKeyDetails","options","exportKey","from","AsymmetricKeyObject","asymmetricKeyType","_asymmetricKeyType","asymmetricKeyDetails","_asymmetricKeyDetails","keyDetail","namedCurve","buffer","toString","passphrase","cipher"],"sourceRoot":"../../../src","sources":["keys/classes.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
+
import { CryptoKey, KeyObject } from './keys';
|
|
5
|
+
import { hasAnyNotIn, lazyDOMException, getUsagesUnion, KFormatType, KeyEncoding } from './utils';
|
|
6
|
+
export class MlDsa {
|
|
7
|
+
constructor(variant) {
|
|
8
|
+
this.variant = variant;
|
|
9
|
+
this.native = NitroModules.createHybridObject('MlDsaKeyPair');
|
|
10
|
+
this.native.setVariant(variant);
|
|
11
|
+
}
|
|
12
|
+
async generateKeyPair() {
|
|
13
|
+
await this.native.generateKeyPair(KFormatType.DER, KeyEncoding.SPKI, KFormatType.DER, KeyEncoding.PKCS8);
|
|
14
|
+
}
|
|
15
|
+
generateKeyPairSync() {
|
|
16
|
+
this.native.generateKeyPairSync(KFormatType.DER, KeyEncoding.SPKI, KFormatType.DER, KeyEncoding.PKCS8);
|
|
17
|
+
}
|
|
18
|
+
getPublicKey() {
|
|
19
|
+
return this.native.getPublicKey();
|
|
20
|
+
}
|
|
21
|
+
getPrivateKey() {
|
|
22
|
+
return this.native.getPrivateKey();
|
|
23
|
+
}
|
|
24
|
+
async sign(message) {
|
|
25
|
+
return this.native.sign(message);
|
|
26
|
+
}
|
|
27
|
+
signSync(message) {
|
|
28
|
+
return this.native.signSync(message);
|
|
29
|
+
}
|
|
30
|
+
async verify(signature, message) {
|
|
31
|
+
return this.native.verify(signature, message);
|
|
32
|
+
}
|
|
33
|
+
verifySync(signature, message) {
|
|
34
|
+
return this.native.verifySync(signature, message);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export async function mldsa_generateKeyPairWebCrypto(variant, extractable, keyUsages) {
|
|
38
|
+
if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
|
|
39
|
+
throw lazyDOMException(`Unsupported key usage for ${variant}`, 'SyntaxError');
|
|
40
|
+
}
|
|
41
|
+
const publicUsages = getUsagesUnion(keyUsages, 'verify');
|
|
42
|
+
const privateUsages = getUsagesUnion(keyUsages, 'sign');
|
|
43
|
+
if (privateUsages.length === 0) {
|
|
44
|
+
throw lazyDOMException('Usages cannot be empty', 'SyntaxError');
|
|
45
|
+
}
|
|
46
|
+
const mldsa = new MlDsa(variant);
|
|
47
|
+
await mldsa.generateKeyPair();
|
|
48
|
+
const publicKeyData = mldsa.getPublicKey();
|
|
49
|
+
const privateKeyData = mldsa.getPrivateKey();
|
|
50
|
+
const pub = KeyObject.createKeyObject('public', publicKeyData, KFormatType.DER, KeyEncoding.SPKI);
|
|
51
|
+
const publicKey = new CryptoKey(pub, {
|
|
52
|
+
name: variant
|
|
53
|
+
}, publicUsages, true);
|
|
54
|
+
const priv = KeyObject.createKeyObject('private', privateKeyData, KFormatType.DER, KeyEncoding.PKCS8);
|
|
55
|
+
const privateKey = new CryptoKey(priv, {
|
|
56
|
+
name: variant
|
|
57
|
+
}, privateUsages, extractable);
|
|
58
|
+
return {
|
|
59
|
+
publicKey,
|
|
60
|
+
privateKey
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=mldsa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","CryptoKey","KeyObject","hasAnyNotIn","lazyDOMException","getUsagesUnion","KFormatType","KeyEncoding","MlDsa","constructor","variant","native","createHybridObject","setVariant","generateKeyPair","DER","SPKI","PKCS8","generateKeyPairSync","getPublicKey","getPrivateKey","sign","message","signSync","verify","signature","verifySync","mldsa_generateKeyPairWebCrypto","extractable","keyUsages","publicUsages","privateUsages","length","mldsa","publicKeyData","privateKeyData","pub","createKeyObject","publicKey","name","priv","privateKey"],"sourceRoot":"../../src","sources":["mldsa.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/mlDsaKeyPair.nitro.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/subtle.js
CHANGED
|
@@ -18,6 +18,7 @@ import { getRandomValues } from './random';
|
|
|
18
18
|
import { createHmac } from './hmac';
|
|
19
19
|
import { createSign, createVerify } from './keys/signVerify';
|
|
20
20
|
import { ed_generateKeyPairWebCrypto, Ed } from './ed';
|
|
21
|
+
import { mldsa_generateKeyPairWebCrypto } from './mldsa';
|
|
21
22
|
// import { pbkdf2DeriveBits } from './pbkdf2';
|
|
22
23
|
// import { aesCipher, aesGenerateKey, aesImportKey, getAlgorithmName } from './aes';
|
|
23
24
|
// import { rsaCipher, rsaExportKey, rsaImportKey, rsaKeyGenerate } from './rsa';
|
|
@@ -346,10 +347,13 @@ async function hmacGenerateKey(algorithm, extractable, keyUsages) {
|
|
|
346
347
|
// Create secret key
|
|
347
348
|
const keyObject = createSecretKey(keyBytes);
|
|
348
349
|
|
|
349
|
-
// Construct algorithm object
|
|
350
|
+
// Construct algorithm object with hash normalized to { name: string } format per WebCrypto spec
|
|
351
|
+
const webCryptoHashName = normalizeHashName(hash, HashContext.WebCrypto);
|
|
350
352
|
const keyAlgorithm = {
|
|
351
353
|
name: 'HMAC',
|
|
352
|
-
hash:
|
|
354
|
+
hash: {
|
|
355
|
+
name: webCryptoHashName
|
|
356
|
+
},
|
|
353
357
|
length
|
|
354
358
|
};
|
|
355
359
|
return new CryptoKey(keyObject, keyAlgorithm, keyUsages, extractable);
|
|
@@ -423,10 +427,17 @@ function rsaImportKey(format, data, algorithm, extractable, keyUsages) {
|
|
|
423
427
|
}
|
|
424
428
|
publicExponentBytes = new Uint8Array(bytes.length > 0 ? bytes : [0]);
|
|
425
429
|
}
|
|
430
|
+
|
|
431
|
+
// Normalize hash to { name: string } format per WebCrypto spec
|
|
432
|
+
const hashName = normalizeHashName(algorithm.hash, HashContext.WebCrypto);
|
|
433
|
+
const normalizedHash = {
|
|
434
|
+
name: hashName
|
|
435
|
+
};
|
|
426
436
|
const algorithmWithDetails = {
|
|
427
437
|
...algorithm,
|
|
428
438
|
modulusLength: keyDetails?.modulusLength,
|
|
429
|
-
publicExponent: publicExponentBytes
|
|
439
|
+
publicExponent: publicExponentBytes,
|
|
440
|
+
hash: normalizedHash
|
|
430
441
|
};
|
|
431
442
|
return new CryptoKey(keyObject, algorithmWithDetails, keyUsages, extractable);
|
|
432
443
|
}
|
|
@@ -473,10 +484,17 @@ async function hmacImportKey(algorithm, format, data, extractable, keyUsages) {
|
|
|
473
484
|
} else {
|
|
474
485
|
throw new Error(`Unable to import HMAC key with format ${format}`);
|
|
475
486
|
}
|
|
476
|
-
|
|
487
|
+
|
|
488
|
+
// Normalize hash to { name: string } format per WebCrypto spec
|
|
489
|
+
const hashName = normalizeHashName(algorithm.hash, HashContext.WebCrypto);
|
|
490
|
+
const normalizedAlgorithm = {
|
|
477
491
|
...algorithm,
|
|
478
|
-
name: 'HMAC'
|
|
479
|
-
|
|
492
|
+
name: 'HMAC',
|
|
493
|
+
hash: {
|
|
494
|
+
name: hashName
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
return new CryptoKey(keyObject, normalizedAlgorithm, keyUsages, extractable);
|
|
480
498
|
}
|
|
481
499
|
async function aesImportKey(algorithm, format, data, extractable, keyUsages) {
|
|
482
500
|
const {
|
|
@@ -563,6 +581,31 @@ function edImportKey(format, data, algorithm, extractable, keyUsages) {
|
|
|
563
581
|
name
|
|
564
582
|
}, keyUsages, extractable);
|
|
565
583
|
}
|
|
584
|
+
function mldsaImportKey(format, data, algorithm, extractable, keyUsages) {
|
|
585
|
+
const {
|
|
586
|
+
name
|
|
587
|
+
} = algorithm;
|
|
588
|
+
|
|
589
|
+
// Validate usages
|
|
590
|
+
if (hasAnyNotIn(keyUsages, ['sign', 'verify'])) {
|
|
591
|
+
throw lazyDOMException(`Unsupported key usage for ${name} key`, 'SyntaxError');
|
|
592
|
+
}
|
|
593
|
+
let keyObject;
|
|
594
|
+
if (format === 'spki') {
|
|
595
|
+
// Import public key
|
|
596
|
+
const keyData = bufferLikeToArrayBuffer(data);
|
|
597
|
+
keyObject = KeyObject.createKeyObject('public', keyData, KFormatType.DER, KeyEncoding.SPKI);
|
|
598
|
+
} else if (format === 'pkcs8') {
|
|
599
|
+
// Import private key
|
|
600
|
+
const keyData = bufferLikeToArrayBuffer(data);
|
|
601
|
+
keyObject = KeyObject.createKeyObject('private', keyData, KFormatType.DER, KeyEncoding.PKCS8);
|
|
602
|
+
} else {
|
|
603
|
+
throw lazyDOMException(`Unsupported format for ${name} import: ${format}`, 'NotSupportedError');
|
|
604
|
+
}
|
|
605
|
+
return new CryptoKey(keyObject, {
|
|
606
|
+
name
|
|
607
|
+
}, keyUsages, extractable);
|
|
608
|
+
}
|
|
566
609
|
const exportKeySpki = async key => {
|
|
567
610
|
switch (key.algorithm.name) {
|
|
568
611
|
case 'RSASSA-PKCS1-v1_5':
|
|
@@ -589,6 +632,16 @@ const exportKeySpki = async key => {
|
|
|
589
632
|
return bufferLikeToArrayBuffer(key.keyObject.handle.exportKey(KFormatType.DER, KeyEncoding.SPKI));
|
|
590
633
|
}
|
|
591
634
|
break;
|
|
635
|
+
case 'ML-DSA-44':
|
|
636
|
+
// Fall through
|
|
637
|
+
case 'ML-DSA-65':
|
|
638
|
+
// Fall through
|
|
639
|
+
case 'ML-DSA-87':
|
|
640
|
+
if (key.type === 'public') {
|
|
641
|
+
// Export ML-DSA key in SPKI DER format
|
|
642
|
+
return bufferLikeToArrayBuffer(key.keyObject.handle.exportKey(KFormatType.DER, KeyEncoding.SPKI));
|
|
643
|
+
}
|
|
644
|
+
break;
|
|
592
645
|
}
|
|
593
646
|
throw new Error(`Unable to export a spki ${key.algorithm.name} ${key.type} key`);
|
|
594
647
|
};
|
|
@@ -618,6 +671,16 @@ const exportKeyPkcs8 = async key => {
|
|
|
618
671
|
return bufferLikeToArrayBuffer(key.keyObject.handle.exportKey(KFormatType.DER, KeyEncoding.PKCS8));
|
|
619
672
|
}
|
|
620
673
|
break;
|
|
674
|
+
case 'ML-DSA-44':
|
|
675
|
+
// Fall through
|
|
676
|
+
case 'ML-DSA-65':
|
|
677
|
+
// Fall through
|
|
678
|
+
case 'ML-DSA-87':
|
|
679
|
+
if (key.type === 'private') {
|
|
680
|
+
// Export ML-DSA key in PKCS8 DER format
|
|
681
|
+
return bufferLikeToArrayBuffer(key.keyObject.handle.exportKey(KFormatType.DER, KeyEncoding.PKCS8));
|
|
682
|
+
}
|
|
683
|
+
break;
|
|
621
684
|
}
|
|
622
685
|
throw new Error(`Unable to export a pkcs8 ${key.algorithm.name} ${key.type} key`);
|
|
623
686
|
};
|
|
@@ -812,6 +875,29 @@ function edSignVerify(key, data, signature) {
|
|
|
812
875
|
return ed.verifySync(signatureBuffer, dataBuffer, rawKey);
|
|
813
876
|
}
|
|
814
877
|
}
|
|
878
|
+
function mldsaSignVerify(key, data, signature) {
|
|
879
|
+
const isSign = signature === undefined;
|
|
880
|
+
const expectedKeyType = isSign ? 'private' : 'public';
|
|
881
|
+
if (key.type !== expectedKeyType) {
|
|
882
|
+
throw lazyDOMException(`Key must be a ${expectedKeyType} key`, 'InvalidAccessError');
|
|
883
|
+
}
|
|
884
|
+
const dataBuffer = bufferLikeToArrayBuffer(data);
|
|
885
|
+
if (isSign) {
|
|
886
|
+
const signer = createSign('');
|
|
887
|
+
signer.update(dataBuffer);
|
|
888
|
+
const sig = signer.sign({
|
|
889
|
+
key: key
|
|
890
|
+
});
|
|
891
|
+
return sig.buffer.slice(sig.byteOffset, sig.byteOffset + sig.byteLength);
|
|
892
|
+
} else {
|
|
893
|
+
const signatureBuffer = bufferLikeToArrayBuffer(signature);
|
|
894
|
+
const verifier = createVerify('');
|
|
895
|
+
verifier.update(dataBuffer);
|
|
896
|
+
return verifier.verify({
|
|
897
|
+
key: key
|
|
898
|
+
}, signatureBuffer);
|
|
899
|
+
}
|
|
900
|
+
}
|
|
815
901
|
const signVerify = (algorithm, key, data, signature) => {
|
|
816
902
|
const usage = signature === undefined ? 'sign' : 'verify';
|
|
817
903
|
algorithm = normalizeAlgorithm(algorithm, usage);
|
|
@@ -830,6 +916,10 @@ const signVerify = (algorithm, key, data, signature) => {
|
|
|
830
916
|
case 'Ed25519':
|
|
831
917
|
case 'Ed448':
|
|
832
918
|
return edSignVerify(key, data, signature);
|
|
919
|
+
case 'ML-DSA-44':
|
|
920
|
+
case 'ML-DSA-65':
|
|
921
|
+
case 'ML-DSA-87':
|
|
922
|
+
return mldsaSignVerify(key, data, signature);
|
|
833
923
|
}
|
|
834
924
|
throw lazyDOMException(`Unrecognized algorithm name '${algorithm.name}' for '${usage}'`, 'NotSupportedError');
|
|
835
925
|
};
|
|
@@ -921,6 +1011,14 @@ export class Subtle {
|
|
|
921
1011
|
result = await ed_generateKeyPairWebCrypto(algorithm.name.toLowerCase(), extractable, keyUsages);
|
|
922
1012
|
checkCryptoKeyPairUsages(result);
|
|
923
1013
|
break;
|
|
1014
|
+
case 'ML-DSA-44':
|
|
1015
|
+
// Fall through
|
|
1016
|
+
case 'ML-DSA-65':
|
|
1017
|
+
// Fall through
|
|
1018
|
+
case 'ML-DSA-87':
|
|
1019
|
+
result = await mldsa_generateKeyPairWebCrypto(algorithm.name, extractable, keyUsages);
|
|
1020
|
+
checkCryptoKeyPairUsages(result);
|
|
1021
|
+
break;
|
|
924
1022
|
default:
|
|
925
1023
|
throw new Error(`'subtle.generateKey()' is not implemented for ${algorithm.name}.
|
|
926
1024
|
Unrecognized algorithm name`);
|
|
@@ -963,6 +1061,13 @@ export class Subtle {
|
|
|
963
1061
|
case 'Ed448':
|
|
964
1062
|
result = edImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
|
|
965
1063
|
break;
|
|
1064
|
+
case 'ML-DSA-44':
|
|
1065
|
+
// Fall through
|
|
1066
|
+
case 'ML-DSA-65':
|
|
1067
|
+
// Fall through
|
|
1068
|
+
case 'ML-DSA-87':
|
|
1069
|
+
result = mldsaImportKey(format, data, normalizedAlgorithm, extractable, keyUsages);
|
|
1070
|
+
break;
|
|
966
1071
|
default:
|
|
967
1072
|
throw new Error(`"subtle.importKey()" is not implemented for ${normalizedAlgorithm.name}`);
|
|
968
1073
|
}
|