Службы безопасности 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.