Zum Hauptinhalt springen

5. Beispielimplementierung (Sample Implementation)

Der folgende Code implementiert die Berechnungen von H(A1), H(A2), request-digest und response-digest sowie ein Testprogramm, das die in den Beispielen in Abschnitt 3.5 verwendeten Werte berechnet. Er verwendet die MD5-Implementierung aus RFC 1321.

Hinweis: Dieser Abschnitt enthält C-Sprachbeispielcode, der zeigt, wie die Kernberechnungen für die Digest-Authentifizierung (Digest Authentication) implementiert werden. Die Codebeispiele umfassen:

  • digcalc.h - Header-Datei, die Datenstrukturen und Funktionsdeklarationen definiert, die für Digest-Authentifizierungsberechnungen erforderlich sind
  • digcalc.c - Implementierungsdatei mit den konkreten Implementierungen der H(A1)- und Response-Berechnungen
  • digtest.c - Testprogramm zur Überprüfung der Korrektheit der Implementierung

Diese Codebeispiele demonstrieren:

  1. Wie der H(A1)-Wert (Hash von Benutzername, Realm und Passwort) berechnet wird
  2. Wie request-digest und response-digest berechnet werden
  3. Die Anwendung des MD5-Algorithmus in der Digest-Authentifizierung
  4. Wie verschiedene qop-Optionen (Schutzqualität) behandelt werden

Implementierungs-Schlüsselpunkte:

  • Verwendet den MD5-Algorithmus für Hash-Berechnungen
  • Behandelt die Hexadezimalkonvertierung korrekt
  • Unterstützt sowohl „MD5"- als auch „MD5-sess"-Algorithmen
  • Unterstützt sowohl „auth"- als auch „auth-int"-qop-Werte

Für die vollständige C-Code-Implementierung siehe bitte Abschnitt 5 des RFC 2617-Originaltextes.