B.W.A TLS-Gate Mock Pipeline (RC1)
Bits With Attitude (B.W.A) — Street-code on silicon level. Providing deterministic, offline-ready encryption management for the CrumbForest-Crew and waldmitte core-nodes.
TLS-Gate is an interactive developer tool, local dashboard, and SOAP/WSDL protocol visualizer custom-engineered for handling secure TLS environments, certificate validation, and CSR generation. Built in alignment with CrumbLegal-RC0 guidelines (No Cloud, Offline-First, structural determinism, and direct sandbox testing).
🌲 Architecture Overview
This workspace acts as a local developer sandbox and mock pipeline for testing integration with traditional domain order endpoints (domain-bestellsystem.de).
+-----------------------+ +-----------------------+
| Developer Browser | | Terminal / CLI |
| (index.php SPA) | | (dashboard.sh) |
+-----------------------+ +-----------------------+
| |
| v
| +-----------------------+
| | soap_cli.php |
| | (list / info -> JSON) |
| +-----------------------+
| |
v v
+---------------------------------------------+
| SslHandler.php (shared SOAP logic) |
| getCertList() · getCertInfo() · sslInfo() |
+---------------------------------------------+
| |
(SoapClient over TLS) (Mock-Fallback if no ext-soap)
v v
+-----------------------+ +-----------------------+
| SOAP Status WSDL | | sample.json |
+-----------------------+ +-----------------------+
Eine Quelle, zwei Frontends: Web (
index.php) und Terminal (dashboard.sh
viasoap_cli.php) teilen sich dieselbeSslHandler.php. Steht keine
SOAP-Verbindung (fehlendeext-soapoder kein Netz), fällt beides automatisch
aufsample.jsonzurück — die Ansicht zeigt dann die Quelle „Mock-Fallback".
📦 What's Inside
index.php(The SOAP Portal SPA):- Migrated from a fragile 1990s HTML frameset into a secure, single-page application context.
- Leverages PHP's native
SoapClientconnected to the domain-bestellsystem SOAP endpoint. - Upgraded to use local OpenSSL
sha256signatures instead of deprecatedsha1for CSR generation. -
Fixed runtime variables (like
$startDate) to prevent parsing crashes. -
sample.json(Structured Metadata Store): -
Houses simulated database-state payloads reflecting real Let's Encrypt (YE2) and Sectigo live certificate facts captured directly from the
crumbforest.org,branko.de, andonezeromore.comdomains. -
sample.html(Naked Packet Sandbox): - Fully responsive, custom dark terminal UX showcasing mock forms (replica of high-fidelity PHP forms) with integrated DOM-level live searching/grepping.
-
Includes a Bi-directional Naked SOAP XML Packet Trace Modal allowing programmers to view the exact, raw soap envelope request and response markup transmitted for every function trigger.
-
SslHandler.php(Shared SOAP Core): - Kapselt die gesamte SOAP-Logik (Credentials-Bootstrap via
getenv,SoapClient,sslListExtended,sslInfo). - Normalisiert Antworten über
getCertList()undgetCertInfo()und liefert bei fehlender Verbindung einen sauberen Mock-Fallback aussample.json. -
Wird von
index.phpundsoap_cli.phpinkludiert — eine einzige Quelle der Wahrheit. -
soap_cli.php(CLI-Bridge): - CLI-only (guarded via
PHP_SAPI), gibt maschinenlesbares JSON aus:
php soap_cli.php listundphp soap_cli.php info <orderNumber>. -
Bindeglied zwischen der PHP-SOAP-Welt und dem Bash-Dashboard.
-
dashboard.sh(Terminal Dashboard): - Zieht Live/Mock-Daten über
soap_cli.php, zeigt eine Tabelle mit Order · Domain · Status · Expire samt Restlaufzeit-Farbcode. - Interaktiver Detail-Abruf per Order-Nummer (zeigt Zertifikat/PEM bei Live-SOAP).
🛠️ Usage & Local Deployment
1. High-Fidelity Mock Visualizer
Simply open sample.html in any browser to execute simulations offline:
# On Linux / MacOS
xdg-open sample.html # or double-click to view immediately
- Use the Grep Interface to dynamically filter active certs in the list.
- Submit different tabs (CSR Form, Order Form, etc.) and click
View Naked XML SOAPto check the raw payload tracer.
2. Live PHP Client
Configure your production/sandbox credentials inside the live engine /home/sysop/workspace/index.php:
$soap_user = "your_actual_username";
$soap_pw = "your_actual_password";
$wsdl = "https://www.domain-bestellsystem.de/soapstatus/wsdl/soap.wsdl";
Credentials werden aus der Umgebung gelesen (siehe SECURITY.md), Platzhalter nur als Mock-Fallback:
export BWA_SOAP_USER="your_actual_username"
export BWA_SOAP_PASS="your_actual_password"
export BWA_SOAP_WSDL="https://www.domain-bestellsystem.de/soapstatus/wsdl/soap.wsdl"
Serve locally via PHP's built-in server:
php -S localhost:8080
Then navigate to http://localhost:8080 in your web browser.
3. Terminal CLI (dashboard.sh) — Handbuch
Das Dashboard nutzt dieselbe Datenquelle wie das Web-Frontend (soap_cli.php → SslHandler.php), also Live-SOAP mit automatischem Mock-Fallback.
./dashboard.sh # Interaktives Dashboard: Liste + Detail-Abruf per Order-Nr
./dashboard.sh stats # Schnelle Statistik (Gesamt / aktiv / pending / sonstige)
./dashboard.sh details <orderNr> # Detail-Info inkl. Zertifikat (PEM) zu einer Order
./dashboard.sh export <domain> # Domain-Details als JSON exportieren (aus sample.json)
./dashboard.sh export consensus <domain> # Dezentrale Konsens-Abfrage (api_consensus.py)
./dashboard.sh help # Hilfe
Die Expire-Spalte färbt sich nach Restlaufzeit: 🔴 abgelaufen · 🟠 ≤ 30 Tage · 🟡 ≤ 90 Tage · 🟢 > 90 Tage. Die Kopfzeile zeigt an, ob gerade Live SOAP oder Mock-Fallback aktiv ist.
Voraussetzungen: php, jq und (für die Restlaufzeit in Tagen) GNU date.
Rechte / Deployment im RZ: dashboard.sh ruft php soap_cli.php auf, das wiederum SslHandler.php und sample.json liest. Der ausführende User braucht Ausführ- und Leserechte auf diese Dateien:
chmod +x dashboard.sh
# Dateien dem ausführenden User/Gruppe zuordnen, z.B.:
chown "$USER":"$USER" dashboard.sh soap_cli.php SslHandler.php sample.json
Fehlen Rechte oder php, bricht das Skript nicht mehr stumm hinter dem Banner ab, sondern gibt eine klare Fehlermeldung samt Hinweis aus.
⚖️ Governance & Compliancy
This structure conforms to CrumbLegal-RC0:
* Structural Determinism: No permanent tracking cookies, tracking IDs, or remote profiling.
* Offline-First Integration: Designed to be mocked and checked fully locally prior to making real-world root calls.
* Strict Privacy Policy: Local key pairs (genCSR) are generated purely in system RAM via PHP-OpenSSL and never transmitted over external network vectors.
Created in Hammerbrooklyn / Hamburg inside the OZM Art Space. Peace, open learning, and bits with attitude.