Службы безопасности MSMQ
Синхронные сообщения RPC могут использовать любые функции безопасности, доступные во время выполнения RPC. Дополнительные сведения см. в разделе Безопасность .
Асинхронные вызовы [ message] не могут использовать безопасность 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 .