diff --git a/Cargo.lock b/Cargo.lock index 9e0cd15..331ecb7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -212,9 +212,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.19" +version = "1.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" +checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a" dependencies = [ "shlex", ] @@ -384,7 +384,7 @@ dependencies = [ [[package]] name = "crypto-layer" version = "0.1.0" -source = "git+https://github.com/nmshd/rust-crypto.git#712a96f49f58fc5ebd7ca86ce5f9ed0774ae7667" +source = "git+https://github.com/nmshd/rust-crypto.git#41ec0a04e987ac1bc14ad9bb37dbcdf6847f375c" dependencies = [ "anyhow", "argon2", @@ -465,7 +465,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -580,7 +580,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -929,7 +929,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6813fde79b646e47e7ad75f480aa80ef76a5d9599e2717407961531169ee38b" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.101", "syn-mid", ] @@ -1500,7 +1500,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1624,7 +1624,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1646,9 +1646,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -1663,7 +1663,7 @@ checksum = "b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1692,7 +1692,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1703,7 +1703,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1745,7 +1745,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -1873,7 +1873,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -1895,7 +1895,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2045,22 +2045,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] [[package]] @@ -2080,5 +2080,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.101", ] diff --git a/crates/crypto-layer-node/src/keyhandle.rs b/crates/crypto-layer-node/src/keyhandle.rs index a1926aa..ffd4af5 100644 --- a/crates/crypto-layer-node/src/keyhandle.rs +++ b/crates/crypto-layer-node/src/keyhandle.rs @@ -65,12 +65,14 @@ pub fn export_delete(mut cx: FunctionContext) -> JsResult { pub fn export_encrypt_data(mut cx: FunctionContext) -> JsResult { let handle_arc = (**cx.this::()?).clone(); let data_js = cx.argument::(0)?; - let data = vec_from_uint_8_array(&mut cx, data_js); + let data = vec_from_uint_8_array(&mut cx, data_js); + let iv_js = cx.argument::(1)?; + let iv = vec_from_uint_8_array(&mut cx, iv_js); spawn_promise(&mut cx, move |channel, deferred| { let handle = arc_or_poisoned_error_deferred!(&channel, deferred, handle_arc.read()); - let result = handle.encrypt_data(&data); + let result = handle.encrypt_data(&data, &iv); deferred.settle_with(&channel, |mut cx| { let (encrypted_data, iv) = unwrap_or_throw!(cx, result); diff --git a/crates/crypto-layer-node/src/keypairhandle.rs b/crates/crypto-layer-node/src/keypairhandle.rs index 16d91d5..0d9ad63 100644 --- a/crates/crypto-layer-node/src/keypairhandle.rs +++ b/crates/crypto-layer-node/src/keypairhandle.rs @@ -129,11 +129,13 @@ pub fn export_encrypt_data(mut cx: FunctionContext) -> JsResult { let handle_arc = (**cx.this::()?).clone(); let data_js = cx.argument::(0)?; let data = vec_from_uint_8_array(&mut cx, data_js); + let iv_js = cx.argument::(1)?; + let iv = vec_from_uint_8_array(&mut cx, iv_js); spawn_promise(&mut cx, move |channel, deferred| { let handle = arc_or_poisoned_error_deferred!(&channel, deferred, handle_arc.read()); - let encrypted_data = handle.encrypt_data(&data); + let encrypted_data = handle.encrypt_data(&data, &iv); deferred.settle_with(&channel, |mut cx| { let encrypted_data = unwrap_or_throw!(cx, encrypted_data); diff --git a/package-lock.json b/package-lock.json index 0be3af4..1534f61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "@nmshd/rs-crypto-node", - "version": "0.9.0", + "version": "0.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@nmshd/rs-crypto-node", - "version": "0.9.0", + "version": "0.10.0", "license": "MIT", "dependencies": { "@neon-rs/load": "^0.1.73", - "@nmshd/rs-crypto-types": "^0.6.1" + "@nmshd/rs-crypto-types": "^0.7.0" }, "devDependencies": { "@eslint/js": "^9.21.0", @@ -29,10 +29,10 @@ "typescript-eslint": "^8.25.0" }, "optionalDependencies": { - "@nmshd/rs-crypto-node-darwin-arm64": "0.8.12", - "@nmshd/rs-crypto-node-darwin-x64": "0.8.12", - "@nmshd/rs-crypto-node-linux-x64-gnu": "0.8.12", - "@nmshd/rs-crypto-node-win32-x64-msvc": "0.8.12" + "@nmshd/rs-crypto-node-darwin-arm64": "0.10.0", + "@nmshd/rs-crypto-node-darwin-x64": "0.10.0", + "@nmshd/rs-crypto-node-linux-x64-gnu": "0.10.0", + "@nmshd/rs-crypto-node-win32-x64-msvc": "0.10.0" } }, "node_modules/@ampproject/remapping": { @@ -1392,62 +1392,10 @@ "integrity": "sha512-H4Gu2o5kPp+JOEhRrOQCnJnf7X6sv9FBLttM/wSbb4efsgFWeHzfU/ItZ01E5qqEk+U6QGdeVO7lxXIAtYHr5A==", "license": "MIT" }, - "node_modules/@nmshd/rs-crypto-node-darwin-arm64": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-node-darwin-arm64/-/rs-crypto-node-darwin-arm64-0.8.12.tgz", - "integrity": "sha512-QnTID9xWx/k7xLheAx0Dnv9RYkHhPn7ouT2NVIplETfrM0KW+irzGKQBxQ3UU2pJh32ClRFnIYJUPpn3YN8sLg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@nmshd/rs-crypto-node-darwin-x64": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-node-darwin-x64/-/rs-crypto-node-darwin-x64-0.8.12.tgz", - "integrity": "sha512-7h0w5/z8MqUQQ03J9lOIp0vNYQEZ8OlCiAcRid35vMFbDKga1AY0G115/YZCDZHKL11amEDRNh+tbwbvVqOB5Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@nmshd/rs-crypto-node-linux-x64-gnu": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-node-linux-x64-gnu/-/rs-crypto-node-linux-x64-gnu-0.8.12.tgz", - "integrity": "sha512-+eSz4ehkKogZFh2DOR3xP8uoU+imoG7z8uMAWP3pvLsJw+muKBIPZdr6A/lmJ1GrgtWA8tqBaKNzvY++rVZ8qg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@nmshd/rs-crypto-node-win32-x64-msvc": { - "version": "0.8.12", - "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-node-win32-x64-msvc/-/rs-crypto-node-win32-x64-msvc-0.8.12.tgz", - "integrity": "sha512-I/4N8NKqs9m5NLxBbIE/8WRr46TbDOyYQZky/eDorYeSB8fLxG43G364I+thO7PdO+w0cdgKrmSXE8hERXjMcw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@nmshd/rs-crypto-types": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-types/-/rs-crypto-types-0.6.1.tgz", - "integrity": "sha512-aXmQIrIElHYvMh7glKM4Ux3RELSXC1cWyhOfFtFKu9sJ5uO1oTyHUQwXo4Cq8eRPrDdI5vikUT/XPUZ+dkdH+w==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@nmshd/rs-crypto-types/-/rs-crypto-types-0.7.0.tgz", + "integrity": "sha512-p4ueEkJWuTogkvPkK7zxU+o+WLmeYg1mkGhiOdhF/Kf57Pe2cKMCF0Hre3fCGbh29Hs15/rgPLg2Bkk8U08VuA==", "license": "MIT", "dependencies": { "typia": "^8.0.3" diff --git a/package.json b/package.json index c809467..70438ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nmshd/rs-crypto-node", - "version": "0.9.0", + "version": "0.10.0", "description": "crypto layer ts interface for nodejs", "homepage": "https://enmeshed.eu", "repository": "github:nmshd/crypto-layer-node", @@ -62,12 +62,12 @@ }, "dependencies": { "@neon-rs/load": "^0.1.73", - "@nmshd/rs-crypto-types": "^0.6.1" + "@nmshd/rs-crypto-types": "^0.7.0" }, "optionalDependencies": { - "@nmshd/rs-crypto-node-darwin-arm64": "0.9.0", - "@nmshd/rs-crypto-node-darwin-x64": "0.9.0", - "@nmshd/rs-crypto-node-linux-x64-gnu": "0.9.0", - "@nmshd/rs-crypto-node-win32-x64-msvc": "0.9.0" + "@nmshd/rs-crypto-node-darwin-arm64": "0.10.0", + "@nmshd/rs-crypto-node-darwin-x64": "0.10.0", + "@nmshd/rs-crypto-node-linux-x64-gnu": "0.10.0", + "@nmshd/rs-crypto-node-win32-x64-msvc": "0.10.0" } -} +} \ No newline at end of file diff --git a/platforms/darwin-arm64/package.json b/platforms/darwin-arm64/package.json index 7edcaf5..bb1db6a 100644 --- a/platforms/darwin-arm64/package.json +++ b/platforms/darwin-arm64/package.json @@ -2,7 +2,7 @@ "name": "@nmshd/rs-crypto-node-darwin-arm64", "description": "Prebuilt binary package for `rs-crypto-node` on `darwin-arm64`.", "repository": "github:nmshd/crypto-layer-node", - "version": "0.9.0", + "version": "0.10.0", "os": [ "darwin" ], diff --git a/platforms/darwin-x64/package.json b/platforms/darwin-x64/package.json index 04273b8..2b7380d 100644 --- a/platforms/darwin-x64/package.json +++ b/platforms/darwin-x64/package.json @@ -2,7 +2,7 @@ "name": "@nmshd/rs-crypto-node-darwin-x64", "description": "Prebuilt binary package for `rs-layer-ts` on `darwin-x64`.", "repository": "github:nmshd/crypto-layer-node", - "version": "0.9.0", + "version": "0.10.0", "os": [ "darwin" ], diff --git a/platforms/linux-arm64-gnu/package.json b/platforms/linux-arm64-gnu/package.json index 85b2577..ef90d84 100644 --- a/platforms/linux-arm64-gnu/package.json +++ b/platforms/linux-arm64-gnu/package.json @@ -2,7 +2,7 @@ "name": "@nmshd/rs-crypto-node-linux-arm64-gnu", "description": "Prebuilt binary package for `rs-layer-ts` on `linux-arm64-gnu`.", "repository": "github:nmshd/crypto-layer-node", - "version": "0.9.0", + "version": "0.10.0", "os": [ "linux" ], diff --git a/platforms/linux-x64-gnu/package.json b/platforms/linux-x64-gnu/package.json index 9f0af84..3ff41b5 100644 --- a/platforms/linux-x64-gnu/package.json +++ b/platforms/linux-x64-gnu/package.json @@ -2,7 +2,7 @@ "name": "@nmshd/rs-crypto-node-linux-x64-gnu", "description": "Prebuilt binary package for `rs-layer-ts` on `linux-x64-gnu`.", "repository": "github:nmshd/crypto-layer-node", - "version": "0.9.0", + "version": "0.10.0", "os": [ "linux" ], diff --git a/platforms/win32-x64-msvc/package.json b/platforms/win32-x64-msvc/package.json index 8344b57..5024439 100644 --- a/platforms/win32-x64-msvc/package.json +++ b/platforms/win32-x64-msvc/package.json @@ -2,7 +2,7 @@ "name": "@nmshd/rs-crypto-node-win32-x64-msvc", "description": "Prebuilt binary package for `rs-layer-ts` on `win32-x64-msvc`.", "repository": "github:nmshd/crypto-layer-node", - "version": "0.9.0", + "version": "0.10.0", "os": [ "win32" ],