我试图在使用ServerEventsClient时保护服务器和客户端之间的消息传递。在我的服务器上,我注册了相应的功能并创建了密钥对。问题出在客户端中 - 我无法从ServerEventsClient创建EncryptedClient。
var client = new ServerEventsClient("http://localhost:1337/", "home")
{
OnConnect = OnConnect,
OnCommand = HandleIncomingCommand,
OnMessage = HandleIncomingMessage,
OnException = OnException,
OnHeartbeat = OnHeartbeat
};
var publicKey = client.ServiceClient.Get(new GetPublicKey());
我可以成功获得钥匙,但没有类似的东西
client.GetEncryptedClient(publicKey);
或
client.ServiceCLient.GetEncryptedClient(publicKey);
此时有没有办法保护我的消息传递?
ServiceStack 的加密消息传递功能仅限于普通的请求/回复服务,其中请求和响应 DTO 打包在加密消息中发送。
ServiceStack的服务器事件直接写入响应输出流,即不加密。由于通知是以明文形式发送的,因此您需要将它们限制为仅发送对敏感信息的"ID"引用的通知,然后客户端将使用加密客户端访问这些信息。