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