Freigeben über


Datagrammkontexte

Die Semantik für Datagrammoder verbindungslosen Kontexten unterscheidet sich geringfügig von denen für verbindungsorientierte Kontexte. In Kontexteines Datagramms kann ein Server nicht ermitteln, wann der Client die Verbindung heruntergefahren oder anderweitig beendet hat. Mit anderen Worten, es wird keine Kündigungsbenachrichtigung von der Transportanwendung an den Server übergeben, wie in einem verbindungsorientierten Kontext.

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

Wichtig

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

 

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

  • Das Sicherheitspaket erzeugt keine Authentifizierung BLOB- (binär großes Objekt) für den ersten Aufruf von InitializeSecurityContext (General). 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 zulassen, dass der Kontext mehrmals neu eingerichtet wird, damit der Server die Verbindung ohne Vorheriges ablegen kann. Dies bedeutet, dass alle Schlüssel, die in der MakeSignature- und VerifySignature--Funktionen verwendet werden, auf einen konsistenten Zustandzurü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 die Datagramsemantik unterstützt.