Security 如何使用安全RPC?

Security 如何使用安全RPC?,security,winapi,ipc,rpc,Security,Winapi,Ipc,Rpc,我正在使用RPC(远程过程调用)进行本地进程通信。我使用了ncalrpc协议,使用API RpcServerUseProtseqEp、RpcServerRegisterIf、RPCServerListen编写了一个典型的服务器,使用RpcStringBindingCompose、RpcBindingFromStringBinding编写了一个典型的客户端。到目前为止一切都很好,客户端和服务器使用远程方法进行通信 现在,我正在评估使此通信安全的选项。我需要主要关注3个方面,客户端身份验证、授权和数

我正在使用RPC(远程过程调用)进行本地进程通信。我使用了ncalrpc协议,使用API RpcServerUseProtseqEp、RpcServerRegisterIf、RPCServerListen编写了一个典型的服务器,使用RpcStringBindingCompose、RpcBindingFromStringBinding编写了一个典型的客户端。到目前为止一切都很好,客户端和服务器使用远程方法进行通信

现在,我正在评估使此通信安全的选项。我需要主要关注3个方面,客户端身份验证、授权和数据私有和完整性。 RpcBindingSetAuthInfo允许我设置身份验证级别和授权服务以及SPN。RPC_C_AUTHN_LEVEL_PKT_隐私可用于身份验证和加密数据。 1.但我不明白谁真正做认证,以及如何做

  • 我不明白可以使用RpcServerRegister在服务器端注册的SecurityCallback如何帮助我检查授权客户端

  • 我不知道是谁授权,如何授权?我不确定在哪些情况下需要授权,以及如何在RPC中实现授权。我的应用程序仅在本地计算机上通信

  • 请有人澄清我的疑问


    谢谢,

    如果您的应用程序在本地运行,则无需加密RPC调用即可。 如果要使用加密测试RPC调用,请确保

  • 在服务器上调用RpcServerRegisterAuthInfo(0,RPC\u C\u AUTHN\u WINNT,0,0) 一边
  • 在客户端调用RpcBindingSetAuthInfo(hRPCBind,0,RPC_C_AUTHN_LEVEL_PKT_PRIVACY,RPC_C_AUTHN_WINNT,0,0)
  • windows将处理其余部分,如加密、传输