Skip to content

Commit b0ec743

Browse files
committed
chore: Merge branch 'release/v9.7.0'
2 parents e38869d + 67ccb71 commit b0ec743

31 files changed

+40856
-323
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
subcommands: |
1717
python3 scripts/download_wasm.py
1818
npm install
19-
kms-version: 4.10.0
19+
kms-version: 4.11.3
2020
findex-cloud-version: 0.3.1
2121

2222
lint:
@@ -34,7 +34,7 @@ jobs:
3434
with:
3535
subcommands: |
3636
npm test
37-
kms-version: 4.10.0
37+
kms-version: 4.11.3
3838
kms-jwe-key:
3939
'{"kty": "OKP","d": "MPEVJwdRqGM_qhJOUb5hR0Xr9EvwMLZGnkf-eDj5fU8","use": "enc","crv": "X25519","kid": "DX3GC+Fx3etxfRJValQNbqaB0gs=","x":
4040
"gdF-1TtAjsFqNWr9nwhGUlFG38qrDUqYgcILgtYrpTY","alg": "ECDH-ES"}'
@@ -48,19 +48,19 @@ jobs:
4848
needs: test
4949
uses: Cosmian/reusable_workflows/.github/workflows/cloudproof_kms_js.yml@develop
5050
with:
51-
branch: v3.0.0
52-
kms-version: 4.10.0
51+
branch: v3.1.2
52+
kms-version: 4.11.3
5353

5454
cloudproof_java:
5555
needs: test
5656
uses: Cosmian/reusable_workflows/.github/workflows/cloudproof_java_in_docker.yml@develop
5757
with:
58-
branch: develop
58+
branch: fix/kmip_serialization
5959
target: x86_64-unknown-linux-gnu
6060
extension: so
6161
destination: linux-x86-64
6262
os: ubuntu-20.04
63-
kms-version: 4.10.0
63+
kms-version: 4.11.3
6464
findex-cloud-version: 0.3.1
6565
copy_fresh_build: false
6666
copy_regression_files: |
@@ -74,7 +74,7 @@ jobs:
7474
with:
7575
branch: develop
7676
target: x86_64-unknown-linux-gnu
77-
kms-version: 4.10.0
77+
kms-version: 4.11.3
7878
findex-cloud-version: 0.3.1
7979
copy_fresh_build: false
8080
copy_regression_files: |
@@ -107,7 +107,7 @@ jobs:
107107
sleep 5
108108
cd ../test
109109
node chrome.mjs http://localhost:8090 http://kms:9998
110-
kms-version: 4.10.0
110+
kms-version: 4.11.3
111111
findex-cloud-version: 0.3.1
112112

113113
example_reactjs:
@@ -123,7 +123,7 @@ jobs:
123123
sleep 5
124124
cd ../test
125125
node chrome.mjs http://localhost:8090 http://kms:9998
126-
kms-version: 4.10.0
126+
kms-version: 4.11.3
127127
findex-cloud-version: 0.3.1
128128

129129
example_browser:
@@ -137,7 +137,7 @@ jobs:
137137
python3 -m http.server &
138138
sleep 3
139139
node test.mjs
140-
kms-version: 4.10.0
140+
kms-version: 4.11.3
141141
findex-cloud-version: 0.3.1
142142

143143
example_webpack:
@@ -159,7 +159,7 @@ jobs:
159159
cd examples/nodejs
160160
npm install
161161
node test.mjs 10
162-
kms-version: 4.10.0
162+
kms-version: 4.11.3
163163
findex-cloud-version: 0.3.1
164164
secrets: inherit
165165

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ node_modules/
22
site/*.js
33
dist/
44
pgdata/
5-
package-lock.json
65
.env

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [9.7.0] - 2024-01-29
6+
7+
### Features
8+
9+
- Support kms 4.11 + kms_js 3.1.2
10+
511
## [9.6.0] - 2023-12-11
612

713
### Bug Fixes

README.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,24 +60,10 @@ npm i cloudproof_js
6060

6161
## Versions Correspondence
6262

63-
Local encryption and decryption with [CoverCrypt](https://github.com/Cosmian/cover_crypt) and SSE Findex Cosmian scheme use WASM libraries which are transparent for Javascript/Typescript usage.
64-
65-
This table shows the minimum version correspondence between the various components.
66-
67-
| `cloudproof_js` | CoverCrypt lib | Findex | KMS Server |
68-
|-----------------|----------------|--------|------------|
69-
| 1.0.6 | 6.0.1 | 0.5.0 | 2.2.0 |
70-
| 3.1.0 | 6.0.7 | 0.7.0 | 2.3.0 |
71-
| 3.1.0, 4.\* | 6.0.7 | 0.7.0 | 2.3.0 |
72-
| 5.0.0 | 7.0.0 | 0.10.0 | 3.0.0 |
73-
| 6.0.0 | 8.0.0 | 1.0.0 | 4.0.0 |
74-
| 6.0.1 | 8.0.0 | 2.0.0 | 4.0.0 |
75-
| 7.0.0, 7.0.1 | 10.0.0 | 2.0.1 | 4.2.0 |
76-
77-
From the version 8.0.0, `cloudproof_js` depends on [cloudproof_rust](https://github.com/Cosmian/cloudproof_rust) which wraps the interfaces of `CoverCrypt` and `Findex`.
63+
[CoverCrypt](https://github.com/Cosmian/cover_crypt) and SSE [Findex](https://github.com/Cosmian/findex) scheme are wrapped in WebAssembly libraries (WASM) in [cloudproof_rust](https://github.com/Cosmian/cloudproof_rust).
7864

7965
| `cloudproof_js` | Cloudproof Rust lib | KMS Server |
80-
|-----------------|---------------------|------------|
66+
| --------------- | ------------------- | ---------- |
8167
| 8.0.0 | 1.0.0 | 4.2.0 |
8268
| 8.1.0 | 1.1.0 | 4.3.0 |
8369
| 9.0.0 | 2.0.1 | 4.3.0 |
@@ -88,3 +74,4 @@ From the version 8.0.0, `cloudproof_js` depends on [cloudproof_rust](https://git
8874
| 9.5.0 | 2.3.0 | 4.9.0 |
8975
| 9.5.1 | 2.3.0 | 4.9.1 |
9076
| 9.6.0 | 2.4.0 | 4.10.0 |
77+
| 9.7.0 | 2.4.0 | 4.11.3 |

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version: "3"
55
services:
66
kms:
77
container_name: kms
8-
image: ghcr.io/cosmian/kms:4.10.0
8+
image: ghcr.io/cosmian/kms:4.11.3
99
ports:
1010
- 9998:9998
1111
environment:

examples/browser/index.html

Lines changed: 75 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,89 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="en">
3-
<head>
4-
<meta charset="UTF-8">
5-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
77
<title>CloudproofJS in browser</title>
8-
<link rel="icon" href="data:,">
9-
</head>
10-
<body>
8+
<link rel="icon" href="data:," />
9+
</head>
10+
<body>
1111
<p>This demo should work without any JS build.</p>
1212

1313
<script src="node_modules/cloudproof_js/dist/umd/index.js"></script>
1414
<script>
15-
const { CoverCrypt } = window.cloudproof_js;
15+
const { CoverCrypt } = window.cloudproof_js
1616

17-
(async () => {
18-
const { Policy, PolicyAxis, generateMasterKeys, generateUserSecretKey, encrypt, decrypt } = await CoverCrypt();
19-
20-
const policy = new Policy([
21-
new PolicyAxis(
22-
"Security Level",
23-
[
24-
{ name: "Low", isHybridized: false },
25-
{ name: "Medium", isHybridized: false },
26-
{ name: "High", isHybridized: true },
27-
],
28-
true,
29-
),
30-
new PolicyAxis(
31-
"Department",
32-
[
33-
{ name: "R&D", isHybridized: false },
34-
{ name: "HR", isHybridized: false },
35-
],
36-
false,
37-
),
38-
]);
17+
;(async () => {
18+
const {
19+
Policy,
20+
PolicyAxis,
21+
generateMasterKeys,
22+
generateUserSecretKey,
23+
encrypt,
24+
decrypt,
25+
} = await CoverCrypt()
3926

40-
const masterKeys = generateMasterKeys(policy);
41-
console.log(masterKeys);
27+
const policy = new Policy([
28+
new PolicyAxis(
29+
"Security Level",
30+
[
31+
{ name: "Low", isHybridized: false },
32+
{ name: "Medium", isHybridized: false },
33+
{ name: "High", isHybridized: true },
34+
],
35+
true,
36+
),
37+
new PolicyAxis(
38+
"Department",
39+
[
40+
{ name: "R&D", isHybridized: false },
41+
{ name: "HR", isHybridized: false },
42+
],
43+
false,
44+
),
45+
])
4246

43-
const highSecretAllDepartmentsDecryptionKey = generateUserSecretKey(masterKeys.secretKey, "Security Level::High && Department::R&D && Department::HR", policy)
44-
const lowSecretHRDepartmentDecryptionKey = generateUserSecretKey(masterKeys.secretKey, "Security Level::Low && Department::HR", policy)
47+
const masterKeys = generateMasterKeys(policy)
48+
console.log(masterKeys)
4549

46-
const secret = encrypt(policy, masterKeys.publicKey, "Security Level::High && Department::HR", new TextEncoder().encode("My secret!"));
47-
console.log(secret);
48-
49-
const decrypted = decrypt(highSecretAllDepartmentsDecryptionKey, secret);
50-
const decryptedMessage = new TextDecoder().decode(decrypted.plaintext);
51-
console.log(decryptedMessage);
52-
53-
if (decryptedMessage !== "My secret!") {
54-
throw new Error("Incorrect decrypted message");
55-
}
50+
const highSecretAllDepartmentsDecryptionKey = generateUserSecretKey(
51+
masterKeys.secretKey,
52+
"Security Level::High && Department::R&D && Department::HR",
53+
policy,
54+
)
55+
const lowSecretHRDepartmentDecryptionKey = generateUserSecretKey(
56+
masterKeys.secretKey,
57+
"Security Level::Low && Department::HR",
58+
policy,
59+
)
5660

57-
try {
58-
decrypt(lowSecretHRDepartmentDecryptionKey, secret);
59-
} catch {
60-
// should fail
61-
}
61+
const secret = encrypt(
62+
policy,
63+
masterKeys.publicKey,
64+
"Security Level::High && Department::HR",
65+
new TextEncoder().encode("My secret!"),
66+
)
67+
console.log(secret)
6268

63-
const element = document.createElement('div')
64-
element.id = "done"
65-
document.body.appendChild(element)
66-
})();
69+
const decrypted = decrypt(highSecretAllDepartmentsDecryptionKey, secret)
70+
const decryptedMessage = new TextDecoder().decode(decrypted.plaintext)
71+
console.log(decryptedMessage)
6772

73+
if (decryptedMessage !== "My secret!") {
74+
throw new Error("Incorrect decrypted message")
75+
}
76+
77+
try {
78+
decrypt(lowSecretHRDepartmentDecryptionKey, secret)
79+
} catch {
80+
// should fail
81+
}
82+
83+
const element = document.createElement("div")
84+
element.id = "done"
85+
document.body.appendChild(element)
86+
})()
6887
</script>
69-
</body>
70-
</html>
88+
</body>
89+
</html>

examples/browser/package-lock.json

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

examples/full_text_search/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ node_modules/
22
*.sqlite
33
*.sqlite-journal
44
*.csv
5-
*.tsv
5+
*.tsv

0 commit comments

Comments
 (0)