webtoken 0.5.0__tar.gz → 0.6.0__tar.gz

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.
Files changed (47) hide show
  1. {webtoken-0.5.0 → webtoken-0.6.0}/.github/workflows/release.yml +70 -16
  2. {webtoken-0.5.0 → webtoken-0.6.0}/.github/workflows/tests.yml +3 -4
  3. {webtoken-0.5.0 → webtoken-0.6.0}/Cargo.lock +177 -51
  4. {webtoken-0.5.0 → webtoken-0.6.0}/Cargo.toml +14 -5
  5. {webtoken-0.5.0 → webtoken-0.6.0}/PKG-INFO +13 -28
  6. {webtoken-0.5.0 → webtoken-0.6.0}/README.md +10 -25
  7. {webtoken-0.5.0 → webtoken-0.6.0}/benchmarks/benchmarks.py +4 -11
  8. {webtoken-0.5.0 → webtoken-0.6.0}/pyproject.toml +4 -4
  9. webtoken-0.6.0/src/algorithms.rs +58 -0
  10. webtoken-0.6.0/src/crypto.rs +1130 -0
  11. webtoken-0.6.0/src/crypto_parsing.rs +280 -0
  12. webtoken-0.6.0/src/jwe.rs +375 -0
  13. webtoken-0.6.0/src/jwk.rs +266 -0
  14. {webtoken-0.5.0 → webtoken-0.6.0}/src/jws.rs +7 -11
  15. webtoken-0.6.0/src/jwt.rs +405 -0
  16. webtoken-0.6.0/src/key_utils.rs +278 -0
  17. {webtoken-0.5.0 → webtoken-0.6.0}/src/lib.rs +610 -625
  18. webtoken-0.6.0/src/paseto.rs +1053 -0
  19. {webtoken-0.5.0 → webtoken-0.6.0}/src/pyjwt_jwk_api.rs +69 -58
  20. webtoken-0.6.0/tests/keys_and_vectors.py +109 -0
  21. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_api_jwt.py +1 -1
  22. webtoken-0.6.0/tests/test_jwe.py +272 -0
  23. webtoken-0.6.0/tests/test_paseto.py +375 -0
  24. webtoken-0.6.0/tests/test_paseto_key.py +197 -0
  25. webtoken-0.6.0/tests/test_paseto_sample.py +333 -0
  26. webtoken-0.6.0/tests/test_paseto_token.py +66 -0
  27. webtoken-0.6.0/tests/test_paseto_v4.py +126 -0
  28. webtoken-0.6.0/tests/test_paseto_vectors.py +691 -0
  29. webtoken-0.6.0/webtoken/webtoken.py +1188 -0
  30. webtoken-0.5.0/src/algorithms.rs +0 -326
  31. webtoken-0.5.0/src/crypto.rs +0 -608
  32. webtoken-0.5.0/src/jwk.rs +0 -643
  33. webtoken-0.5.0/webtoken/webtoken.py +0 -797
  34. {webtoken-0.5.0 → webtoken-0.6.0}/.gitignore +0 -0
  35. {webtoken-0.5.0 → webtoken-0.6.0}/License +0 -0
  36. {webtoken-0.5.0 → webtoken-0.6.0}/benchmarks/Readme.md +0 -0
  37. {webtoken-0.5.0 → webtoken-0.6.0}/src/py_utils.rs +0 -0
  38. {webtoken-0.5.0 → webtoken-0.6.0}/tests/Readme.md +0 -0
  39. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_advisory.py +0 -0
  40. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_algorithms.py +0 -0
  41. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_api_jwk.py +0 -0
  42. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_api_jws.py +0 -0
  43. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_compressed.py +0 -0
  44. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_exceptions.py +0 -0
  45. {webtoken-0.5.0 → webtoken-0.6.0}/tests/test_jwt.py +0 -0
  46. {webtoken-0.5.0 → webtoken-0.6.0}/tests/tests.py +0 -0
  47. {webtoken-0.5.0 → webtoken-0.6.0}/webtoken/__init__.py +0 -0
@@ -20,13 +20,11 @@ jobs:
20
20
  os: ubuntu-latest
21
21
  target: x86_64
22
22
  manylinux: auto
23
- qemu: false
24
23
 
25
24
  - name: Musl x86
26
25
  os: ubuntu-latest
27
26
  target: x86_64
28
27
  manylinux: musllinux_1_2
29
- qemu: false
30
28
 
31
29
  - name: Linux ARM64
32
30
  os: ubuntu-latest
@@ -37,18 +35,13 @@ jobs:
37
35
  - name: MacOS
38
36
  os: macos-latest
39
37
  target: x86_64
40
- manylinux: auto
41
- qemu: false
42
38
 
43
39
  - name: Windows
44
40
  os: windows-latest
45
41
  target: x64
46
- manylinux: auto
47
- qemu: false
48
42
 
49
43
  steps:
50
44
  - uses: actions/checkout@v6
51
-
52
45
  - name: Set up QEMU
53
46
  if: matrix.qemu
54
47
  uses: docker/setup-qemu-action@v3
@@ -67,6 +60,30 @@ jobs:
67
60
  name: wheels-${{ matrix.name }}
68
61
  path: dist
69
62
 
63
+ build_wheels_freebsd:
64
+ name: Build FreeBSD wheels
65
+ runs-on: ubuntu-latest
66
+ steps:
67
+ - uses: actions/checkout@v6
68
+ - name: Build in FreeBSD VM
69
+ uses: vmactions/freebsd-vm@v1
70
+ with:
71
+ usesh: true
72
+ prepare: pkg install -y rust python313 git
73
+
74
+ run: |
75
+ python3.13 -m venv venv
76
+ . venv/bin/activate
77
+ pip install maturin
78
+ maturin build --release --out dist --find-interpreter
79
+
80
+ - name: Upload FreeBSD wheels
81
+ uses: actions/upload-artifact@v6
82
+ with:
83
+ name: wheels-freebsd
84
+ path: dist
85
+
86
+
70
87
  build_sdist:
71
88
  name: Build source distribution
72
89
  runs-on: ubuntu-latest
@@ -80,24 +97,61 @@ jobs:
80
97
  - name: Upload sdist
81
98
  uses: actions/upload-artifact@v6
82
99
  with:
83
- name: wheels-sdist
100
+ name: sdist
84
101
  path: dist
85
102
 
86
103
  publish:
87
- name: PyPI
88
- needs: [build_wheels, build_sdist]
104
+ name: Publish to PyPI + GitHub Release
105
+ needs: [build_wheels, build_wheels_freebsd, build_sdist]
89
106
  runs-on: ubuntu-latest
90
107
  environment: pypi
91
108
  permissions:
92
- contents: read
93
- id-token: write
94
-
109
+ contents: write
110
+ id-token: write
111
+
95
112
  steps:
113
+ - uses: actions/checkout@v6
114
+
96
115
  - uses: actions/download-artifact@v7
97
116
  with:
98
- pattern: wheels-*
117
+ name: sdist
99
118
  path: dist
100
- merge-multiple: true
101
-
119
+
120
+ # Explicit downloads - FreeBSD wheels not allowed on PyPI
121
+ - uses: actions/download-artifact@v7
122
+ with:
123
+ name: wheels-Linux x86
124
+ path: dist
125
+ - uses: actions/download-artifact@v7
126
+ with:
127
+ name: wheels-Musl x86
128
+ path: dist
129
+ - uses: actions/download-artifact@v7
130
+ with:
131
+ name: wheels-Linux ARM64
132
+ path: dist
133
+ - uses: actions/download-artifact@v7
134
+ with:
135
+ name: wheels-MacOS
136
+ path: dist
137
+ - uses: actions/download-artifact@v7
138
+ with:
139
+ name: wheels-Windows
140
+ path: dist
141
+
102
142
  - name: Publish to PyPI
103
143
  uses: pypa/gh-action-pypi-publish@release/v1
144
+
145
+ - uses: actions/download-artifact@v7
146
+ with:
147
+ name: wheels-freebsd
148
+ path: dist
149
+
150
+ # GitHub Release with all wheels
151
+ - name: GitHub Release
152
+ uses: softprops/action-gh-release@v2
153
+ if: startsWith(github.ref, 'refs/tags/')
154
+ with:
155
+ files: dist/*
156
+ generate_release_notes: true
157
+
@@ -17,7 +17,7 @@ jobs:
17
17
  fail-fast: false
18
18
  matrix:
19
19
  os: [ubuntu-latest, windows-latest, macos-latest]
20
- python-version: ['3.12', '3.13', '3.14']
20
+ python-version: ['3.12', '3.13', '3.14', '3.14t']
21
21
 
22
22
  steps:
23
23
  - uses: actions/checkout@v6
@@ -36,7 +36,6 @@ jobs:
36
36
  shell: bash
37
37
  run: |
38
38
  maturin build --release
39
- # Universal install command that works on Bash (Linux/Mac) and Git Bash (Windows)
40
39
  pip install target/wheels/*.whl
41
40
 
42
41
  - name: Run tests
@@ -73,9 +72,9 @@ jobs:
73
72
  uses: vmactions/freebsd-vm@v1
74
73
  with:
75
74
  usesh: true
76
- prepare: pkg install -y rust python3 py311-pip git
75
+ prepare: pkg install -y rust python313 git
77
76
  run: |
78
- python3 -m venv venv
77
+ python3.13 -m venv venv
79
78
  . venv/bin/activate
80
79
  pip install maturin pytest
81
80
 
@@ -2,6 +2,36 @@
2
2
  # It is not intended for manual editing.
3
3
  version = 4
4
4
 
5
+ [[package]]
6
+ name = "adler2"
7
+ version = "2.0.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
+
11
+ [[package]]
12
+ name = "argon2"
13
+ version = "0.5.3"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072"
16
+ dependencies = [
17
+ "base64ct",
18
+ "blake2",
19
+ "cpufeatures",
20
+ "password-hash",
21
+ ]
22
+
23
+ [[package]]
24
+ name = "arrayref"
25
+ version = "0.3.9"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
28
+
29
+ [[package]]
30
+ name = "arrayvec"
31
+ version = "0.7.6"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
34
+
5
35
  [[package]]
6
36
  name = "autocfg"
7
37
  version = "1.5.0"
@@ -10,9 +40,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
10
40
 
11
41
  [[package]]
12
42
  name = "aws-lc-rs"
13
- version = "1.15.4"
43
+ version = "1.16.1"
14
44
  source = "registry+https://github.com/rust-lang/crates.io-index"
15
- checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256"
45
+ checksum = "94bffc006df10ac2a68c83692d734a465f8ee6c5b384d8545a636f81d858f4bf"
16
46
  dependencies = [
17
47
  "aws-lc-sys",
18
48
  "untrusted",
@@ -21,9 +51,9 @@ dependencies = [
21
51
 
22
52
  [[package]]
23
53
  name = "aws-lc-sys"
24
- version = "0.37.1"
54
+ version = "0.38.0"
25
55
  source = "registry+https://github.com/rust-lang/crates.io-index"
26
- checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549"
56
+ checksum = "4321e568ed89bb5a7d291a7f37997c2c0df89809d7b6d12062c81ddb54aa782e"
27
57
  dependencies = [
28
58
  "cc",
29
59
  "cmake",
@@ -37,6 +67,12 @@ version = "0.22.1"
37
67
  source = "registry+https://github.com/rust-lang/crates.io-index"
38
68
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
39
69
 
70
+ [[package]]
71
+ name = "base64ct"
72
+ version = "1.8.3"
73
+ source = "registry+https://github.com/rust-lang/crates.io-index"
74
+ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
75
+
40
76
  [[package]]
41
77
  name = "blake2"
42
78
  version = "0.10.6"
@@ -46,6 +82,17 @@ dependencies = [
46
82
  "digest",
47
83
  ]
48
84
 
85
+ [[package]]
86
+ name = "blake2b_simd"
87
+ version = "1.0.4"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3"
90
+ dependencies = [
91
+ "arrayref",
92
+ "arrayvec",
93
+ "constant_time_eq",
94
+ ]
95
+
49
96
  [[package]]
50
97
  name = "block-buffer"
51
98
  version = "0.10.4"
@@ -57,9 +104,9 @@ dependencies = [
57
104
 
58
105
  [[package]]
59
106
  name = "cc"
60
- version = "1.2.55"
107
+ version = "1.2.56"
61
108
  source = "registry+https://github.com/rust-lang/crates.io-index"
62
- checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
109
+ checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2"
63
110
  dependencies = [
64
111
  "find-msvc-tools",
65
112
  "jobserver",
@@ -73,6 +120,27 @@ version = "1.0.4"
73
120
  source = "registry+https://github.com/rust-lang/crates.io-index"
74
121
  checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
75
122
 
123
+ [[package]]
124
+ name = "chacha20"
125
+ version = "0.9.1"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
128
+ dependencies = [
129
+ "cfg-if",
130
+ "cipher",
131
+ "cpufeatures",
132
+ ]
133
+
134
+ [[package]]
135
+ name = "cipher"
136
+ version = "0.4.4"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
139
+ dependencies = [
140
+ "crypto-common",
141
+ "inout",
142
+ ]
143
+
76
144
  [[package]]
77
145
  name = "cmake"
78
146
  version = "0.1.57"
@@ -82,6 +150,30 @@ dependencies = [
82
150
  "cc",
83
151
  ]
84
152
 
153
+ [[package]]
154
+ name = "constant_time_eq"
155
+ version = "0.4.2"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"
158
+
159
+ [[package]]
160
+ name = "cpufeatures"
161
+ version = "0.2.17"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
164
+ dependencies = [
165
+ "libc",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "crc32fast"
170
+ version = "1.5.0"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
173
+ dependencies = [
174
+ "cfg-if",
175
+ ]
176
+
85
177
  [[package]]
86
178
  name = "crypto-common"
87
179
  version = "0.1.7"
@@ -94,9 +186,9 @@ dependencies = [
94
186
 
95
187
  [[package]]
96
188
  name = "deranged"
97
- version = "0.5.6"
189
+ version = "0.5.8"
98
190
  source = "registry+https://github.com/rust-lang/crates.io-index"
99
- checksum = "cc3dc5ad92c2e2d1c193bbbbdf2ea477cb81331de4f3103f267ca18368b988c4"
191
+ checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
100
192
  dependencies = [
101
193
  "powerfmt",
102
194
  "serde_core",
@@ -131,6 +223,16 @@ version = "0.1.9"
131
223
  source = "registry+https://github.com/rust-lang/crates.io-index"
132
224
  checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
133
225
 
226
+ [[package]]
227
+ name = "flate2"
228
+ version = "1.1.9"
229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
230
+ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c"
231
+ dependencies = [
232
+ "crc32fast",
233
+ "miniz_oxide",
234
+ ]
235
+
134
236
  [[package]]
135
237
  name = "fs_extra"
136
238
  version = "1.3.0"
@@ -159,6 +261,16 @@ dependencies = [
159
261
  "wasip2",
160
262
  ]
161
263
 
264
+ [[package]]
265
+ name = "graviola"
266
+ version = "0.3.0"
267
+ source = "registry+https://github.com/rust-lang/crates.io-index"
268
+ checksum = "b1662fcff7237fbe8c91ff2800fcce9435af25b7f0cb580f5679b31c3a1f1e7a"
269
+ dependencies = [
270
+ "cfg-if",
271
+ "getrandom",
272
+ ]
273
+
162
274
  [[package]]
163
275
  name = "hashbrown"
164
276
  version = "0.16.1"
@@ -182,12 +294,12 @@ dependencies = [
182
294
  ]
183
295
 
184
296
  [[package]]
185
- name = "indoc"
186
- version = "2.0.7"
297
+ name = "inout"
298
+ version = "0.1.4"
187
299
  source = "registry+https://github.com/rust-lang/crates.io-index"
188
- checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
300
+ checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
189
301
  dependencies = [
190
- "rustversion",
302
+ "generic-array",
191
303
  ]
192
304
 
193
305
  [[package]]
@@ -208,9 +320,9 @@ dependencies = [
208
320
 
209
321
  [[package]]
210
322
  name = "libc"
211
- version = "0.2.181"
323
+ version = "0.2.183"
212
324
  source = "registry+https://github.com/rust-lang/crates.io-index"
213
- checksum = "459427e2af2b9c839b132acb702a1c654d95e10f8c326bfc2ad11310e458b1c5"
325
+ checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d"
214
326
 
215
327
  [[package]]
216
328
  name = "memchr"
@@ -219,12 +331,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
219
331
  checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
220
332
 
221
333
  [[package]]
222
- name = "memoffset"
223
- version = "0.9.1"
334
+ name = "miniz_oxide"
335
+ version = "0.8.9"
224
336
  source = "registry+https://github.com/rust-lang/crates.io-index"
225
- checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
337
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
226
338
  dependencies = [
227
- "autocfg",
339
+ "adler2",
340
+ "simd-adler32",
228
341
  ]
229
342
 
230
343
  [[package]]
@@ -267,6 +380,17 @@ version = "1.21.3"
267
380
  source = "registry+https://github.com/rust-lang/crates.io-index"
268
381
  checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
269
382
 
383
+ [[package]]
384
+ name = "password-hash"
385
+ version = "0.5.0"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166"
388
+ dependencies = [
389
+ "base64ct",
390
+ "rand_core",
391
+ "subtle",
392
+ ]
393
+
270
394
  [[package]]
271
395
  name = "portable-atomic"
272
396
  version = "1.13.1"
@@ -290,36 +414,33 @@ dependencies = [
290
414
 
291
415
  [[package]]
292
416
  name = "pyo3"
293
- version = "0.27.2"
417
+ version = "0.28.2"
294
418
  source = "registry+https://github.com/rust-lang/crates.io-index"
295
- checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
419
+ checksum = "cf85e27e86080aafd5a22eae58a162e133a589551542b3e5cee4beb27e54f8e1"
296
420
  dependencies = [
297
- "indoc",
298
421
  "libc",
299
- "memoffset",
300
422
  "once_cell",
301
423
  "portable-atomic",
302
424
  "pyo3-build-config",
303
425
  "pyo3-ffi",
304
426
  "pyo3-macros",
305
427
  "time",
306
- "unindent",
307
428
  ]
308
429
 
309
430
  [[package]]
310
431
  name = "pyo3-build-config"
311
- version = "0.27.2"
432
+ version = "0.28.2"
312
433
  source = "registry+https://github.com/rust-lang/crates.io-index"
313
- checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
434
+ checksum = "8bf94ee265674bf76c09fa430b0e99c26e319c945d96ca0d5a8215f31bf81cf7"
314
435
  dependencies = [
315
436
  "target-lexicon",
316
437
  ]
317
438
 
318
439
  [[package]]
319
440
  name = "pyo3-ffi"
320
- version = "0.27.2"
441
+ version = "0.28.2"
321
442
  source = "registry+https://github.com/rust-lang/crates.io-index"
322
- checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
443
+ checksum = "491aa5fc66d8059dd44a75f4580a2962c1862a1c2945359db36f6c2818b748dc"
323
444
  dependencies = [
324
445
  "libc",
325
446
  "pyo3-build-config",
@@ -327,9 +448,9 @@ dependencies = [
327
448
 
328
449
  [[package]]
329
450
  name = "pyo3-macros"
330
- version = "0.27.2"
451
+ version = "0.28.2"
331
452
  source = "registry+https://github.com/rust-lang/crates.io-index"
332
- checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
453
+ checksum = "f5d671734e9d7a43449f8480f8b38115df67bef8d21f76837fa75ee7aaa5e52e"
333
454
  dependencies = [
334
455
  "proc-macro2",
335
456
  "pyo3-macros-backend",
@@ -339,9 +460,9 @@ dependencies = [
339
460
 
340
461
  [[package]]
341
462
  name = "pyo3-macros-backend"
342
- version = "0.27.2"
463
+ version = "0.28.2"
343
464
  source = "registry+https://github.com/rust-lang/crates.io-index"
344
- checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
465
+ checksum = "22faaa1ce6c430a1f71658760497291065e6450d7b5dc2bcf254d49f66ee700a"
345
466
  dependencies = [
346
467
  "heck",
347
468
  "proc-macro2",
@@ -352,9 +473,9 @@ dependencies = [
352
473
 
353
474
  [[package]]
354
475
  name = "pythonize"
355
- version = "0.27.0"
476
+ version = "0.28.0"
356
477
  source = "registry+https://github.com/rust-lang/crates.io-index"
357
- checksum = "a3a8f29db331e28c332c63496cfcbb822aca3d7320bc08b655d7fd0c29c50ede"
478
+ checksum = "0b79f670c9626c8b651c0581011b57b6ba6970bb69faf01a7c4c0cfc81c43f95"
358
479
  dependencies = [
359
480
  "pyo3",
360
481
  "serde",
@@ -362,9 +483,9 @@ dependencies = [
362
483
 
363
484
  [[package]]
364
485
  name = "quote"
365
- version = "1.0.44"
486
+ version = "1.0.45"
366
487
  source = "registry+https://github.com/rust-lang/crates.io-index"
367
- checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
488
+ checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
368
489
  dependencies = [
369
490
  "proc-macro2",
370
491
  ]
@@ -376,10 +497,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
376
497
  checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
377
498
 
378
499
  [[package]]
379
- name = "rustversion"
380
- version = "1.0.22"
500
+ name = "rand_core"
501
+ version = "0.6.4"
381
502
  source = "registry+https://github.com/rust-lang/crates.io-index"
382
- checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
503
+ checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
383
504
 
384
505
  [[package]]
385
506
  name = "serde"
@@ -441,6 +562,12 @@ version = "1.3.0"
441
562
  source = "registry+https://github.com/rust-lang/crates.io-index"
442
563
  checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
443
564
 
565
+ [[package]]
566
+ name = "simd-adler32"
567
+ version = "0.3.8"
568
+ source = "registry+https://github.com/rust-lang/crates.io-index"
569
+ checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
570
+
444
571
  [[package]]
445
572
  name = "subtle"
446
573
  version = "2.6.1"
@@ -449,9 +576,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
449
576
 
450
577
  [[package]]
451
578
  name = "syn"
452
- version = "2.0.115"
579
+ version = "2.0.117"
453
580
  source = "registry+https://github.com/rust-lang/crates.io-index"
454
- checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12"
581
+ checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
455
582
  dependencies = [
456
583
  "proc-macro2",
457
584
  "quote",
@@ -460,9 +587,9 @@ dependencies = [
460
587
 
461
588
  [[package]]
462
589
  name = "target-lexicon"
463
- version = "0.13.4"
590
+ version = "0.13.5"
464
591
  source = "registry+https://github.com/rust-lang/crates.io-index"
465
- checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
592
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
466
593
 
467
594
  [[package]]
468
595
  name = "time"
@@ -503,15 +630,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
503
630
 
504
631
  [[package]]
505
632
  name = "unicode-ident"
506
- version = "1.0.23"
633
+ version = "1.0.24"
507
634
  source = "registry+https://github.com/rust-lang/crates.io-index"
508
- checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e"
509
-
510
- [[package]]
511
- name = "unindent"
512
- version = "0.2.4"
513
- source = "registry+https://github.com/rust-lang/crates.io-index"
514
- checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
635
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
515
636
 
516
637
  [[package]]
517
638
  name = "untrusted"
@@ -538,9 +659,13 @@ dependencies = [
538
659
  name = "webtoken"
539
660
  version = "0.0.0"
540
661
  dependencies = [
662
+ "argon2",
541
663
  "aws-lc-rs",
542
664
  "base64",
543
- "blake2",
665
+ "blake2b_simd",
666
+ "chacha20",
667
+ "flate2",
668
+ "graviola",
544
669
  "num-bigint",
545
670
  "num-integer",
546
671
  "num-traits",
@@ -549,6 +674,7 @@ dependencies = [
549
674
  "serde",
550
675
  "serde_bytes",
551
676
  "serde_json",
677
+ "subtle",
552
678
  "time",
553
679
  ]
554
680
 
@@ -8,13 +8,21 @@ name = "_webtoken"
8
8
  crate-type = ["cdylib"]
9
9
 
10
10
  [dependencies]
11
- aws-lc-rs = { version = "=1.15.4", features = ["unstable"] } # ML-DSA-65 is currently supported on the unstable branch
12
- blake2 = "0.10" # For PASETO v4
13
11
 
12
+ # Main Crypto BE
13
+ aws-lc-rs = { version = "=1.16.1" }
14
+
15
+ # Aux Crypto
16
+ graviola = "0.3"
17
+ blake2b_simd = "1.0.2"
18
+ chacha20 = "0.9"
19
+ argon2 = "0.5"
20
+ flate2 = "1.1"
21
+ subtle = "2.6"
14
22
 
15
23
  base64 = "0.22"
16
- serde_json = { version = "1.0", features = ["preserve_order"] }
17
24
  serde = { version = "1.0", features = ["derive"] }
25
+ serde_json = { version = "1.0", features = ["preserve_order"] }
18
26
  serde_bytes = "0.11"
19
27
 
20
28
  time = { version = "0.3", features = ["serde", "formatting", "parsing"] }
@@ -23,10 +31,11 @@ num-bigint = "0.4"
23
31
  num-traits = "0.2"
24
32
  num-integer = "0.1"
25
33
 
26
- pythonize = "0.27"
34
+
35
+ pythonize = "0.28"
27
36
 
28
37
  [dependencies.pyo3]
29
- version = "0.27"
38
+ version = "0.28"
30
39
  features = ["extension-module", "abi3-py311", "py-clone", "time"]
31
40
 
32
41