Поделиться через


Службы безопасности MSMQ

Синхронные сообщения RPC могут использовать любые функции безопасности, доступные во время выполнения RPC. Дополнительные сведения см. в безопасности.

Асинхронные [ сообщения] вызовы не могут использовать безопасность RPC, так как между клиентом и сервером нет подтверждения. На самом деле сервер может даже не работать во время вызова. Чтобы получить доступ к службам безопасности, предоставляемым службами очереди сообщений (MSMQ), клиентское приложение должно вызвать RpcBindingSetAuthInfo, чтобы контролировать уровень проверки подлинности и конфиденциальности для его вызовов к серверу.

Серверное приложение может вызывать RpcBindingInqAuthClient из удаленного вызова процедуры, чтобы определить уровень безопасности для этого вызова. Сопоставление констант безопасности RPC и безопасности MSMQ показано в следующей таблице.

Уровень безопасности RPC Описание
RPC_AUTHN_LEVEL_NONE Вызов не проходит проверку подлинности или шифруется.
RPC_AUTHN_LEVEL_PKT_INTEGRITY Вызов проходит проверку подлинности с помощью безопасности MSMQ.
RPC_AUTHN_LEVEL_PKT_PRIVACY Вызов проходит проверку подлинности и шифруется по мере перемещения между клиентом и очередью сервера.

 

Сервер также может принудительно вызывать проверку подлинности и шифрование путем вызова RpcServerUseProtseqEpEx и задания флагов RPC_C_MQ_AUTHN_LEVEL_NONE, RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY и RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY в структуре RPC_POLICY.