smgw-pki-automator
Automatisierungs-Tool für die Smart-Meter-Gateway (SMGW) PKI-Prozesse in einer Test-/Labor-Umgebung. Erzeugt Schlüsselmaterial in einem HSM, beantragt Zertifikate bei einer Sub-CA gemäß BSI TR-03129-4, erzeugt signierte Initial-Konfigurationen gemäß BSI TR-03109-1 und überwacht Zertifikatslaufzeiten gemäß den Vorgaben der SM-PKI Certificate Policy.
Ziel
- Asynchrone
RequestCertificate-Aufrufe an die Test-Sub-CA (mTLS, SOAP). - Asynchroner Callback-Endpunkt zur Annahme fertiger Zertifikate.
- Generierung signierter
iconfig.xml+iconfig.sig, verpackt iniconfig.tar. - Periodische Prüfung auf ablaufende Zertifikate (Standard: 30 Tage vor Ablauf) und automatische Erneuerung.
- Alerting per SMTP bei Fehlern.
Architektur
Hexagonale Architektur (Ports & Adapters). Die fachliche Kernlogik
(src/domain/) kennt keine Infrastruktur. Sie spricht ausschließlich gegen
Ports (src/ports/). Konkrete Implementierungen liegen in src/adapters/.
Details: ../docs/architecture.md.
Projektstruktur
src/
├── domain/ Geschäftslogik, Entities (Certificate, Gateway)
├── ports/ Traits (Inbound/Outbound) — Schnittstellen
├── adapters/ Konkrete Impl.: HSM, Sub-CA, SQLite, SMTP, Clock
├── builders/ Builder für SOAP-Requests und iconfig.xml
├── app.rs Composition Root (Dependency Injection)
└── main.rs Tokio-Runtime, Tracing, Boot
Dokumentation
../docs/architecture.md— Hexagonale Architektur, Ports & Adapters, Datenflüsse.../docs/bsi-compliance.md— Mapping BSI-Vorgaben → Code (TR-03129-4, TR-03109-1, SM-PKI CP).../docs/development.md— Lokales Setup (SoftHSM2-Container, mTLS-Testzertifikate, Build & Run).
Quickstart
cargo check
cargo run
Für die volle Lab-Umgebung siehe ../docs/development.md.
Status
Skeleton. Ports und Domäne stehen. Adapter sind Stubs, die not implemented
zurückgeben. Reihenfolge der Umsetzung siehe
../docs/architecture.md.
Sicherheitshinweis
Dieses Tool ist ausschließlich für Test- und Labor-Umgebungen gedacht. Der SoftHSMv2 erfüllt die "Security Level 1"-Anforderung der SM-PKI CP nur für Entwicklungszwecke; für Produktion ist ein zertifiziertes HSM zwingend.