次の方法で共有


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フラグを設定することで、認証と暗号化の呼び出しを強制することもできます。