Dieses Entwicklerseminar vermittelt die systematische Umsetzung belastbarer TLS-Clients und TLS-Server mit der nativen GnuTLS-API. Im Mittelpunkt stehen ein sauberer Zustandsaufbau, nachvollziehbares Fehlerverhalten und eine Architektur, die kryptografische Konfiguration von Transport, Protokoll und Fachlogik trennt.
Alle Arbeitsschritte werden an kompakten C-Beispielen durchgeführt. Neben dem Handshake werden Zertifikatsprüfung, Authentifizierungsvarianten, nichtblockierende Ein-/Ausgabe, Sitzungswiederaufnahme, Shutdown, Logging, Tests und produktionsreife Betriebsanforderungen behandelt.
Inhaltsverzeichnis
- Seminarprofil
- Lernziele
- Zielgruppe und Voraussetzungen
- 1. Architektur und Lebenszyklus einer GnuTLS-Sitzung
- 2. TLS-Client schrittweise implementieren
- 3. TLS-Server und Credentials aufbauen
- 4. Datenübertragung und geordneter Sitzungsabbau
- 5. Zertifikatsprüfung und alternative Authentifizierung
- 6. Sitzungswiederaufnahme, TLS 1.3 und Performance
- 7. Diagnose, Tests und Härtung
- 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
- GnuTLS global, pro Prozess und pro Sitzung korrekt initialisieren.
- TLS-Clients und TLS-Server mit klaren Zustandsübergängen implementieren.
- Zertifikate, Prioritätsstrings und Authentifizierungsdaten sicher anbinden.
- Nichtblockierende Handshakes, Transportfehler und Timeouts kontrolliert behandeln.
- Testbarkeit, Diagnosefähigkeit und sichere Standardwerte in die Anwendung integrieren.
Zielgruppe und Voraussetzungen
Zielgruppe: Softwareentwickler, Systemprogrammierer, Maintainer nativer Anwendungen, Security Engineers und technische Architekten.
Voraussetzungen: Sichere C-Kenntnisse, Grundkenntnisse von TCP/IP, TLS und der Arbeit mit Build-Werkzeugen. Praktische Linux- oder Unix-Erfahrung wird vorausgesetzt.
1. Architektur und Lebenszyklus einer GnuTLS-Sitzung
- Bibliotheksinitialisierung, Thread-Modell und Ressourcenverantwortung festlegen.
- Sitzungsobjekt, Rollenparameter und Transportbindung in einer klaren Reihenfolge aufbauen.
- Credentials und Prioritätskonfiguration zuordnen, bevor der Handshake gestartet wird.
- Freigabepfade für Erfolg, Abbruch und Teilinitialisierung einheitlich implementieren.
2. TLS-Client schrittweise implementieren
- Namensauflösung und TCP-Verbindung von der TLS-Schicht entkoppeln.
- Servernamen, Vertrauensanker und erwartete Identität konfigurieren.
- Handshake ausführen und alle wiederholbaren Rückgabecodes korrekt verarbeiten.
- Peer-Zertifikat, Protokollparameter und Verifikationsergebnis vor Nutzdaten prüfen.
3. TLS-Server und Credentials aufbauen
- Server-Credentials aus Zertifikatskette und privatem Schlüssel laden.
- Akzeptierte Protokolle, Algorithmen und Client-Authentifizierung definieren.
- Eingehende Verbindung an ein eigenes Sitzungsobjekt binden und den Handshake durchführen.
- Fehler isolieren, ohne den Listener oder andere Sitzungen zu beeinträchtigen.
4. Datenübertragung und geordneter Sitzungsabbau
- Datensätze mit vollständiger Behandlung von Teilübertragungen lesen und schreiben.
- Nichtblockierende Zustände mit Ereignisschleifen und Timeouts verbinden.
- Anwendungsprotokollgrenzen unabhängig von TLS-Datensatzgrenzen verwalten.
- Close-Notify, Gegenstellenabbruch und Transportende eindeutig unterscheiden.
5. Zertifikatsprüfung und alternative Authentifizierung
- Systemweiten Vertrauensspeicher und anwendungsspezifische Trust Stores vergleichen.
- Hostname, Gültigkeitszeitraum, Verwendungszweck und Zertifikatskette gemeinsam prüfen.
- PSK, SRP oder Raw Public Keys als bewusst gewählte Alternative einordnen.
- Fehlertexte so erzeugen, dass keine sensiblen Schlüssel- oder Sitzungsdaten offengelegt werden.
6. Sitzungswiederaufnahme, TLS 1.3 und Performance
- Sitzungsdaten beziehungsweise Tickets speichern und an Sicherheitsgrenzen koppeln.
- Wiederaufnahme und vollständigen Handshake in Tests klar unterscheiden.
- Frühe Daten nur nach einer Replay-Risikoanalyse aktivieren.
- Messpunkte für Handshake-Zeit, Durchsatz, Fehlerrate und Ressourcenverbrauch einbauen.
7. Diagnose, Tests und Härtung
- Protokoll-Callbacks, Fehlercodes und Zustandsinformationen strukturiert erfassen.
- Positive, negative und Interoperabilitäts-Tests automatisieren.
- Ungültige Zertifikate, Protokollabbrüche, Timeouts und Versionskonflikte reproduzieren.
- Sichere Defaults, Updatefähigkeit und Betriebsdokumentation vor der Freigabe prüfen.
Praxisübungen
- Implementierung eines vollständigen Test-Clients mit Hostnamenprüfung und kontrolliertem Shutdown.
- Aufbau eines Mehrverbindungs-Testservers mit nichtblockierendem Handshake.
- Fehlerkampagne mit abgelaufenem Zertifikat, falschem Namen, Protokollkonflikt und Verbindungsabbruch.
Einordnung in den Lernpfad
Empfohlen nach den Grundlagen sowie der PKI-Schulung. Anschließend eignen sich die Seminare zu DTLS, Performance, Migration und Kryptografie-API.
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: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Softwareentwickler, Systemprogrammierer, Maintainer nativer Anwendungen, Security Engineers und technische Architekten. |
| Voraussetzungen: | Sichere C-Kenntnisse, Grundkenntnisse von TCP/IP, TLS und der Arbeit mit Build-Werkzeugen. Praktische Linux- oder Unix-Erfahrung wird vorausgesetzt. |
| 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.
