init
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 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 in
|
||||
`iconfig.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`](../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`](../docs/architecture.md) — Hexagonale Architektur, Ports & Adapters, Datenflüsse.
|
||||
- [`../docs/bsi-compliance.md`](../docs/bsi-compliance.md) — Mapping BSI-Vorgaben → Code (TR-03129-4, TR-03109-1, SM-PKI CP).
|
||||
- [`../docs/development.md`](../docs/development.md) — Lokales Setup (SoftHSM2-Container, mTLS-Testzertifikate, Build & Run).
|
||||
|
||||
## Quickstart
|
||||
|
||||
```bash
|
||||
cargo check
|
||||
cargo run
|
||||
```
|
||||
|
||||
Für die volle Lab-Umgebung siehe [`../docs/development.md`](../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`](../docs/architecture.md#umsetzungsreihenfolge).
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user