diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-19 14:24:13 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-19 14:24:13 +0200 |
| commit | 86188385cbdae1ee90c1dca7a7b9db2edef1ecd4 (patch) | |
| tree | cc01153f05e84ad6cd34556caecd3f4bc335d0bd /poc/spike6_gek.py | |
| parent | d2495a2c4b89fbbfc18cefec83ae96cabdd745e2 (diff) | |
| download | meshbay-86188385cbdae1ee90c1dca7a7b9db2edef1ecd4.tar.gz | |
style: ruff's own fixes, mechanically applied
`ruff check .` had gone unrun long enough to report 568 errors, which is the
same as having no linter: the next real finding would have been invisible in the
noise. This is the 521 it fixes by itself, in 173 files, and nothing else — the
98 it cannot fix are the next commit.
What actually changed: import sorting (225), imports nobody used (87, none of
them a re-export — no `__init__.py` is touched, which was the one way this could
have broken an import elsewhere), `datetime.timezone.utc` to `datetime.UTC` (69)
and `asyncio.TimeoutError` to `TimeoutError` (18), both plain aliases on the 3.12
this project requires, `Optional[X]` to `X | None` (24), and f-strings with
nothing to interpolate (19).
Checked rather than assumed: every module in the three packages still imports,
and the suite is 2893 passed — the same count, test for test, as the merge
before it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'poc/spike6_gek.py')
| -rw-r--r-- | poc/spike6_gek.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/poc/spike6_gek.py b/poc/spike6_gek.py index 89ab06c..3595d6d 100644 --- a/poc/spike6_gek.py +++ b/poc/spike6_gek.py @@ -16,14 +16,20 @@ Validates the full GEK lifecycle: The hub stores opaque encrypted blobs — it never sees the GEK in cleartext. """ -import asyncio, httpx, base64, os, json, time +import asyncio +import base64 +import json +import os +import time from pathlib import Path + +import blake3 +import httpx +from cryptography.hazmat.primitives import hashes, serialization from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey from cryptography.hazmat.primitives.asymmetric.x25519 import X25519PrivateKey, X25519PublicKey from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305 from cryptography.hazmat.primitives.kdf.hkdf import HKDF -from cryptography.hazmat.primitives import hashes, serialization -import blake3 HUB_URL = "http://meshbay.org" STATE_FILE = Path("node_state.json") @@ -218,7 +224,7 @@ async def main(): wrap_ms = (time.perf_counter()-t0)*1000 print(f" {PASS} Wrapped in {wrap_ms:.2f}ms") print(f" pk_eph : {bundle_bob['pk_eph_b64'][:24]}...") - print(f" (different from Alice's bundle — ephemeral key is unique)") + print(" (different from Alice's bundle — ephemeral key is unique)") r = await c.post( f"{HUB_URL}/v1/groups/{group_id}/members/bob_member/gek", @@ -301,10 +307,10 @@ async def main(): print(f" {PASS} Wrong private key correctly rejected (AEAD auth failed)") print("\n" + "="*55) - print(f"Spike 6 COMPLETE — GEK distribution validated.") + print("Spike 6 COMPLETE — GEK distribution validated.") print(f" wrap_gek : {wrap_ms:.2f} ms") print(f" unwrap_gek : {unwrap_ms:.2f} ms") - print(f" Hub role : stores opaque bundle, never sees GEK in clear") - print(f" Security : wrong key rejected by AEAD authentication tag") + print(" Hub role : stores opaque bundle, never sees GEK in clear") + print(" Security : wrong key rejected by AEAD authentication tag") asyncio.run(main()) |