CLI genkey: flache, beschreibende Schlüsseldateinamen (einheitlich zum Web)
Statt Ordnern <base>_meine_seite/ mit send.key/recv.key erzeugt genkey jetzt
vier flache Dateien <base>_{meine,partner}_seite__{send,recv}.key. So trägt der
Name Seite+Rolle -> im Browser hoch/runtergeladen überschreibt der aktualisierte
Schlüssel sauber die richtige Datei (kein generisches send.key mehr).
Interop-Runner + mjs + README an das neue Schema angepasst.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ $PY web/_interop_rawrgb.py mkcarrier web/_carrier.png 200 200 >/dev/null
|
||||
|
||||
echo "== A) CLI verschlüsselt+authentifiziert -> Bild =="
|
||||
$PY schattenpost.py hide -t "MsgA vom CLI 🕵️" \
|
||||
-k t2/rel_meine_seite/send.key -c web/_carrier.png -o web/_a.png >/dev/null
|
||||
-k t2/rel_meine_seite__send.key -c web/_carrier.png -o web/_a.png >/dev/null
|
||||
$PY web/_interop_rawrgb.py png2rgb web/_a.png web/_a_rgb.bin >/dev/null
|
||||
|
||||
echo "== B) Trägerbild als rohes RGB für den Web-Core bereitstellen =="
|
||||
@@ -24,7 +24,7 @@ node web/_interop_test.mjs
|
||||
echo "== B) Web-Ausgabe zurück nach PNG, vom CLI aufdecken+prüfen =="
|
||||
read -r W H < web/_b_dims.txt
|
||||
$PY web/_interop_rawrgb.py rgb2png web/_b_out_rgb.bin "$W" "$H" web/_b_stego.png >/dev/null
|
||||
OUT=$($PY schattenpost.py reveal -s web/_b_stego.png -k t2/rel_meine_seite/recv.key)
|
||||
OUT=$($PY schattenpost.py reveal -s web/_b_stego.png -k t2/rel_meine_seite__recv.key)
|
||||
echo " CLI reveal: $OUT"
|
||||
if [ "$OUT" = "MsgB aus dem Browser-Core 🌐" ]; then
|
||||
echo " ✓ B round-trip (Web→CLI) inkl. MAC-Prüfung ok"
|
||||
|
||||
@@ -26,7 +26,7 @@ const hex = (s) => new Uint8Array(s.match(/../g).map((h) => parseInt(h, 16)));
|
||||
// A: CLI (send.key, SPS3) -> Web-Core (recv.key): extrahieren, MAC prüfen, entschlüsseln
|
||||
{
|
||||
const rgb = U('./_a_rgb.bin');
|
||||
const recv = SP.parseKey(U('../t2/rel_partner_seite/recv.key'));
|
||||
const recv = SP.parseKey(U('../t2/rel_partner_seite__recv.key'));
|
||||
const info = SP.extract(rgb);
|
||||
console.log('A) CLI → Web');
|
||||
ok(info.version === SP.STEGO_VERSION, 'Container ist SPS3');
|
||||
@@ -48,7 +48,7 @@ const hex = (s) => new Uint8Array(s.match(/../g).map((h) => parseInt(h, 16)));
|
||||
// B: Web-Core (send.key, SPS3) -> CLI (recv.key)
|
||||
{
|
||||
const rgb = U('./_b_rgb.bin');
|
||||
const send = SP.parseKey(U('../t2/rel_partner_seite/send.key'));
|
||||
const send = SP.parseKey(U('../t2/rel_partner_seite__send.key'));
|
||||
const msg = 'MsgB aus dem Browser-Core 🌐';
|
||||
console.log('B) Web → CLI');
|
||||
ok(send.role === SP.ROLE_SEND, 'partner send.key hat Rolle SEND');
|
||||
|
||||
Reference in New Issue
Block a user