Dieser Intensivpfad führt von der nativen GnuTLS-API bis zu skalierbaren TLS- und DTLS-Anwendungen. Client, Server, Zertifikatsprüfung, nichtblockierende I/O, Datagrammtransport, Sitzungswiederaufnahme, frühe Daten, Kernelbeschleunigung, Tests und Migration werden in einem durchgängigen Entwicklungsprojekt verbunden.
Der Schwerpunkt liegt auf belastbaren Zustandsmaschinen, messbarer Performance und kontrollierbaren Fehlerpfaden statt auf isolierten Codefragmenten.
Inhaltsverzeichnis
- Seminarprofil
- Lernziele
- Zielgruppe und Voraussetzungen
- 1. Tag 1: API-Architektur und Ressourcenmodell
- 2. Tag 1: Server und parallele Sitzungen
- 3. Tag 2: Nichtblockierende I/O und Event Loop
- 4. Tag 2: Authentifizierung und PKI im Code
- 5. Tag 3: DTLS-Client und -Server
- 6. Tag 3: Robustheit und Protokollgrenzen
- 7. Tag 4: Wiederaufnahme und TLS 1.3
- 8. Tag 4: Performance und kTLS
- 9. Tag 5: Kryptografie-API, CMS/PKCS #7 und HPKE
- 10. Tag 5: OpenSSL-Migration und Kompatibilität
- 11. Tag 5: Entwicklungsprojekt und Freigabe
- Praxisübungen
- Einordnung in den Lernpfad
Seminarprofil
Die Inhalte sind als zusammenhängende Arbeitsstrecke aufgebaut. Fachliche Einordnung, Konfiguration beziehungsweise Implementierung, kontrollierte Prüfung und betriebliche Dokumentation greifen ineinander. Die Übungen verwenden ausschließlich Labor- und Testdaten.
Lernziele
- Produktionsfähige TLS-Clients und -Server mit der GnuTLS-API erstellen.
- DTLS mit Timern, Cookies, MTU und Ereignisschleifen integrieren.
- Sitzungswiederaufnahme und frühe Daten risikobewusst einsetzen.
- Performance mit Profiling, Lasttest und geeigneten Optimierungen verbessern.
- Interoperabilität, Migration und Regression automatisiert absichern.
- Kryptografie-API, CMS/PKCS #7 und HPKE in sichere Nachrichtenabläufe einordnen.
Zielgruppe und Voraussetzungen
Zielgruppe: Erfahrene C-/Systementwickler, Embedded- und Netzwerkprogrammierer, Performance Engineers, Maintainer und technische Softwarearchitekten.
Voraussetzungen: Sichere C-Kenntnisse, Socket-Programmierung, Build-Werkzeuge und grundlegendes TLS-Verständnis.
1. Tag 1: API-Architektur und Ressourcenmodell
- Transport, TLS-Zustand und Fachprotokoll als getrennte Komponenten entwerfen.
- Initialisierung, Credentials, Prioritäten und Sitzungsobjekte in sichere Reihenfolge bringen.
- Fehler- und Freigabepfade für jede Teilinitialisierung implementieren.
- Minimalen Client mit nachvollziehbarem Logging und Zertifikatsprüfung fertigstellen.
2. Tag 1: Server und parallele Sitzungen
- Server-Credentials und Listener getrennt verwalten.
- Pro Verbindung ein isoliertes Sitzungsobjekt mit Limits erzeugen.
- Clientauthentifizierung und Aushandlungsparameter kontrolliert prüfen.
- Geordneten Shutdown und unerwarteten Peer-Abbruch eindeutig behandeln.
3. Tag 2: Nichtblockierende I/O und Event Loop
- Wiederholbare Rückgabecodes als Zustandsübergänge modellieren.
- Lesen, Schreiben, Handshake und Timeout in eine Ereignisschleife einbinden.
- Teilübertragungen und Backpressure im Anwendungsprotokoll berücksichtigen.
- Lasttest auf Dateideskriptoren, Speicher und Fehlerschleifen auswerten.
4. Tag 2: Authentifizierung und PKI im Code
- Trust Store, Servername und Verifikationsfunktion sauber konfigurieren.
- Fehlerstatus in eine anwendungsgeeignete Vertrauensentscheidung übersetzen.
- PSK oder Raw Public Keys für einen begrenzten Anwendungsfall integrieren.
- Rotation und parallele Credential-Stände ohne Neustartstrategie bewerten.
5. Tag 3: DTLS-Client und -Server
- Datagrammsitzung mit Peeradresse, Timern und MTU aufbauen.
- Retransmissionen und Cookie-Prüfung in das Serverdesign einfügen.
- Paketverlust, Neuordnung und Duplikate in einem Testnetz erzeugen.
- Sitzungsbereinigung und Ressourcenlimits unter Angriffslast prüfen.
6. Tag 3: Robustheit und Protokollgrenzen
- Nachrichtengrenzen, maximale Größen und Fragmentierungsregeln festlegen.
- Fuzz-nahe Negativfälle für Handshake und Nutzdaten definieren.
- Abbruch-, Wiederanlauf- und Netzwechselverhalten testen.
- Metriken für Retransmission, Latenz und Fehlerrate integrieren.
7. Tag 4: Wiederaufnahme und TLS 1.3
- Vollständigen Handshake und Wiederaufnahme messbar unterscheiden.
- Ticket- und Cachelebensdauer an Sicherheits- und Skalierungsziele koppeln.
- Frühe Daten nur für replay-tolerante Operationen modellieren.
- Schlüsselaktualisierung und lange Sitzungen in Dauerlasttests prüfen.
8. Tag 4: Performance und kTLS
- Baseline für CPU, Latenz, Durchsatz, Speicher und Handshakes erstellen.
- Bottlenecks zwischen Netzwerk, Kryptografie, Kopien und Anwendung trennen.
- Puffer, Wiederaufnahme und Parallelität schrittweise optimieren.
- kTLS nur bei geeigneter Plattform und nach Funktions- sowie Sicherheitsprüfung aktivieren.
9. Tag 5: Kryptografie-API, CMS/PKCS #7 und HPKE
- Kryptografische Primitive nur für klar abgegrenzte Schutzziele und mit sicheren Hochlevel-APIs einsetzen.
- Hash, MAC und Schlüsselableitung mit Testwerten sowie sauberer Speicherbehandlung implementieren.
- CMS-Signatur und CMS-Verschlüsselung mit Zertifikatsprüfung in einen Beispielablauf integrieren.
- HPKE-Sender und -Empfänger mit Kontextbindung, Manipulationstest und dokumentierten Formatregeln aufbauen.
10. Tag 5: OpenSSL-Migration und Kompatibilität
- Verwendete OpenSSL-APIs und implizite Verhaltensannahmen inventarisieren.
- Kompatibilitätsschicht und native GnuTLS-Implementierung gegeneinander bewerten.
- Zertifikatsprüfung, Fehlercodes und Konfiguration explizit neu abbilden.
- Dual-Build und Regression zur kontrollierten Umstellung einrichten.
11. Tag 5: Entwicklungsprojekt und Freigabe
- TLS- und DTLS-Komponenten in eine gemeinsame Testarchitektur integrieren.
- Interoperabilitäts-, Last-, Fehler- und Sicherheitsfälle automatisieren.
- Build-, Laufzeit- und Policyabhängigkeiten dokumentieren.
- Freigabecheckliste mit Wartung, Updates und Diagnoseübergabe abschließen.
Praxisübungen
- Entwicklung eines nichtblockierenden TLS-Service mit Client und Server.
- DTLS-Labor mit Paketverlust, Cookie-Prüfung und MTU-Grenzen.
- Performancekampagne mit Wiederaufnahme, Lastprofil und kontrollierter Optimierung.
Einordnung in den Lernpfad
Als vollständiger Entwicklerpfad geeignet. Für vertiefte PKI- oder Compliance-Aufgaben ergänzen die beiden anderen Intensivseminare.
Fachbereichsleitung und Seminarberatung
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 5 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.995 zzgl. MwSt. Inhaus: € 8.500 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene C-/Systementwickler, Embedded- und Netzwerkprogrammierer, Performance Engineers, Maintainer und technische Softwarearchitekten. |
| Voraussetzungen: | Sichere C-Kenntnisse, Socket-Programmierung, Build-Werkzeuge und grundlegendes TLS-Verständnis. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, angeleitete Schrittfolgen und praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich vorgesehen |
| Durchführungsgarantie: | ja, ab 2 Teilnehmenden |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Ausführliche Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen, auf Wunsch vegetarisch |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
