我正在使用RPC(远程过程调用)进行本地进程通信。我使用了ncalrpc协议,使用API RpcServerUseProtseqEp,RpcServerRegisterIf,RPCServerListen和使用RpcStringBindingCompose,RpcBindingFromStringBinding的典型客户端编写了一个典型的服务器。所有看起来都很好,客户端和服务器使用远程方法进行通信。
现在我正在评估使这种通信安全的选项。我需要主要关注3个方面,客户端身份验证,授权和数据私有&完整性。 RpcBindingSetAuthInfo允许我设置身份验证级别和授权服务以及SPN。 RPC_C_AUTHN_LEVEL_PKT_PRIVACY可用于身份验证和加密数据。 但我不明白谁真正进行了身份验证以及如何进行身份验证?
我不明白如何使用RpcServerRegister在服务器端注册的SecurityCallback帮助我检查授权客户端。
我没有得到谁的授权以及如何?我不确定在哪些情况下需要授权以及如何在RPC中实现授权。我的应用程序仅在本地计算机上进行通信。
有人请澄清我的疑问。
谢谢,
答案 0 :(得分:0)
如果你的应用程序在本地运行,没有加密RPC调用就没问题。 如果您想使用加密测试RPC调用,请确保
windows将处理其余的事情,例如加密,传输。