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_POLICY 结构中的RPC_C_MQ_AUTHN_LEVEL_NONE、RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY和RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY标志来强制调用身份验证和加密。