Skip to content

Commit 5e20d0e

Browse files
authored
HPKE wrapped transmission key (#93)
Adds quantum-resistant HPKE wrapped transmission key implementation, which is opt-in via the `useHpkeForTransmissionKey` config option. Not all environments support this yet, but should be suitable for testing. Remaining public keys will be added ASAP. Updates protobufs to get needed ecKeyId field on QrcMessageKey.
1 parent 74dae7e commit 5e20d0e

22 files changed

+7272
-92
lines changed

keeperapi/jest.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ module.exports = {
88
// Ignore dist folder and node_modules
99
testPathIgnorePatterns: ["/node_modules/", "/dist/"],
1010

11+
// Transform ESM packages from node_modules
12+
transformIgnorePatterns: ["node_modules/(?!@noble/)"],
13+
1114
// Module file extensions
1215
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
1316
};

keeperapi/package-lock.json

Lines changed: 68 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

keeperapi/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@keeper-security/keeperapi",
33
"description": "Keeper API Javascript SDK",
4-
"version": "16.0.90",
4+
"version": "16.0.91",
55
"browser": "dist/index.es.js",
66
"main": "dist/index.cjs.js",
77
"types": "dist/node/index.d.ts",
@@ -19,6 +19,7 @@
1919
"publish-to-npm": "npm publish"
2020
},
2121
"dependencies": {
22+
"@noble/post-quantum": "^0.5.2",
2223
"asmcrypto.js": "^2.3.2",
2324
"faye-websocket": "^0.11.3",
2425
"form-data": "^4.0.4",

keeperapi/rollup.config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ export default [
2020
],
2121
external: [
2222
...Object.keys(pkg.dependencies || {}),
23-
"protobufjs/minimal"
23+
"protobufjs/minimal",
24+
"@noble/post-quantum/ml-kem.js"
2425
],
2526
plugins: [
2627
typescript({
@@ -56,7 +57,8 @@ export default [
5657
],
5758
external: [
5859
...Object.keys(pkg.dependencies || {}),
59-
"crypto", "constants", "https", "protobufjs/minimal"
60+
"crypto", "constants", "https", "protobufjs/minimal",
61+
"@noble/post-quantum/ml-kem.js"
6062
],
6163
plugins: [
6264
typescript({

0 commit comments

Comments
 (0)