Freigeben über


MSMQ Security Services

Synchrone RPC-Nachrichten können alle sicherheitsrelevanten Features verwenden, die ab der RPC-Laufzeit verfügbar sind. Weitere Informationen finden Sie unter Sicherheit .

Asynchrone [ Meldung]-Aufrufe können die RPC-Sicherheit nicht verwenden, da es keinen Handshake zwischen Client und Server gibt. Tatsächlich wird der Server möglicherweise nicht einmal zum Zeitpunkt des Anrufs ausgeführt. Um auf die von Message Queuing Services (MSMQ) bereitgestellten Sicherheitsdienste zuzugreifen, sollte die Clientanwendung RpcBindingSetAuthInfo aufrufen, um die Authentifizierung und den Datenschutz für ihre Aufrufe an den Server zu steuern.

Die Serveranwendung kann RpcBindingInqAuthClient innerhalb eines Remoteprozeduraufrufs aufrufen, um die Sicherheitsstufe für diesen Aufruf zu bestimmen. Die Zuordnung zwischen RPC-Sicherheitskonstanten und MSMQ-Sicherheit ist in der folgenden Tabelle dargestellt.

RPC-Sicherheitsstufe Beschreibung
RPC_AUTHN_LEVEL_NONE Der Aufruf wird nicht authentifiziert oder verschlüsselt.
RPC_AUTHN_LEVEL_PKT_INTEGRITY Der Aufruf wird mithilfe der MSMQ-Sicherheit authentifiziert.
RPC_AUTHN_LEVEL_PKT_PRIVACY Der Aufruf wird authentifiziert und verschlüsselt, während er zwischen client- und serverseitiger Warteschlange wechselt.

 

Der Server kann auch die Anrufauthentifizierung und -verschlüsselung erzwingen, indem er RpcServerUseProtseqEpEx aufruft und die Flags RPC_C_MQ_AUTHN_LEVEL_NONE, RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY und RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY in der RPC_POLICY-Struktur festlegt.