Freigeben über


Datagrammkontexte

Die Semantik für Datagramme oder verbindungslose Kontexte unterscheiden sich geringfügig von denen für verbindungsorientierte Kontexte. Im verbindungslosen Kontext eines Datagramms kann ein Server nicht ermitteln, wann der Client die Verbindung heruntergefahren oder anderweitig beendet hat. Anders ausgedrückt: Es wird keine Kündigungsbenachrichtigung von der Transportanwendung an den Server übergeben, wie es in einem verbindungsorientierten Kontext geschehen würde.

Um einen Datagrammkontext zu verwenden, legt ein Client das ISC_REQ_DATAGRAM-Flag in seinem Aufruf der Funktion InitializeSecurityContext (General) fest.

Wichtig

Das Microsoft Kerberos-Paket unterstützt keine Datagrammkontexte im Benutzer-zu-Benutzer-Modus.

 

Um einige Modelle, insbesondere RPC im DCE-Stil, besser zu unterstützen, gelten die folgenden Regeln, wenn der Client einen Datagrammkontext verwendet:

  • Das Sicherheitspaket erzeugt beim ersten Aufruf von InitializeSecurityContext (General) kein Authentifizierungsblob (binary large object). Der Client kann jedoch den zurückgegebenen Sicherheitskontext in einem Aufruf der MakeSignature-Funktion verwenden, um eine Signatur für eine Nachricht zu generieren.
  • Das Sicherheitspaket muss es zulassen, dass der Kontext mehrmals wiederhergestellt wird, damit der Server die Verbindung ohne Vorheriges beenden kann. Dies bedeutet, dass alle Schlüssel, die in den Funktionen MakeSignature und VerifySignature verwendet werden, auf einen konsistenten Zustand zurückgesetzt werden können.
  • Das Sicherheitspaket ermöglicht es dem Aufrufer, Sequenzinformationen anzugeben, und stellt diese Sequenzinformationen auf der Empfängerseite bereit. Dies ist zusätzlich zu allen Sequenzinformationen, die vom Paket verwaltet werden.

Ein Sicherheitspaket legt das SECPKG_FLAG_DATAGRAM-Flag fest, um anzugeben, dass es Datagrammsemantik unterstützt.