Контексты датаграмм

Семантика контекстов датаграмм или контекстов без подключения немного отличается от семантики контекстов, ориентированных на подключение. В контексте без подключения датаграммы сервер не может определить, когда клиент завершил работу или каким-либо иным образом прервал подключение. Иными словами, уведомление о завершении не передается с транспортного приложения на сервер, как в контексте, ориентированном на подключение.

Чтобы использовать контекст датаграммы, клиент устанавливает флаг ISC_REQ_DATAGRAM в вызове функции InitializeSecurityContext (General).

Важно!

Пакет Microsoft Kerberos не поддерживает контексты датаграмм в режиме "пользователь—пользователь".

 

Для лучшей поддержки некоторых моделей, особенно RPC в стиле DCE, применяются следующие правила, когда клиент использует контекст датаграммы:

  • Пакет безопасности не создает большой двоичный объект проверки подлинности (большой двоичный объект) при первом вызове Метода InitializeSecurityContext (Общие). Однако клиент может использовать возвращенный контекст безопасности в вызове функции MakeSignature для создания подписи для сообщения.
  • Пакет безопасности должен позволить повторно устанавливать контекст несколько раз, чтобы сервер разорвать подключение без уведомления. Это означает, что все ключи, используемые в функциях MakeSignature и VerifySignature , могут быть сброшены в согласованное состояние.
  • Пакет безопасности позволяет вызывающей стороне указать сведения о последовательности и предоставляет эти сведения на стороне получателя. Это дополнение ко всем сведениям о последовательности, хранимой пакетом.

Пакет безопасности устанавливает флаг SECPKG_FLAG_DATAGRAM, чтобы указать, что он поддерживает семантику датаграмм.