nl_sign.py signiert/prueft W600-Images im RSA-4096-PKCS#1-v1.5-Format der alten Klyqa-Firmware (Check_OTA_Image() in qc_ssl_layer.c): SHA256 ueber die gesamte Datei, angehaengt als exakt 512 Byte - derselbe Block wie der ninlight-Trailer, daher die Ablehnung bereits getrailerter Eingaben. Unterstuetzt sowohl cryptography als auch pycryptodome/pycryptodomex als Backend. Gegen das echte Klyqa-Schluesselpaar aus ~/workspace/fw-sign bitgleich verifiziert. tools/test_host.sh haengt jetzt die Python-Tests aus tools/mkimage/tests und tools/station/tests an ctest an.
14 lines
474 B
Bash
Executable File
14 lines
474 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Builds and runs all host unit tests.
|
|
set -euo pipefail
|
|
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
|
cmake -S "$ROOT/test" -B "$ROOT/build/host" -G Ninja >/dev/null
|
|
cmake --build "$ROOT/build/host"
|
|
ctest --test-dir "$ROOT/build/host" --output-on-failure "$@"
|
|
|
|
if python3 -c 'import pytest' 2>/dev/null; then
|
|
python3 -m pytest "$ROOT/tools/mkimage/tests" "$ROOT/tools/station/tests" -q
|
|
else
|
|
echo "Hinweis: pytest fehlt - Python-Tests uebersprungen" >&2
|
|
fi
|