加密 ServiceStack ServerEventsClient 消息传递
Encrypting ServiceStack ServerEventsClient messaging
我正在尝试在使用 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 的 Encrypted Messaging Feature 仅限于正常的 Request/Reply 服务,其中请求和响应 DTO 打包在加密消息中发送。
ServiceStack 的 Server Events 直接写入响应输出流,即不加密。由于通知是以明文形式发送的,因此您需要将它们限制为仅发送 "ID" 对敏感信息的引用的通知,然后客户端将使用加密客户端访问这些信息。
我正在尝试在使用 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 的 Encrypted Messaging Feature 仅限于正常的 Request/Reply 服务,其中请求和响应 DTO 打包在加密消息中发送。
ServiceStack 的 Server Events 直接写入响应输出流,即不加密。由于通知是以明文形式发送的,因此您需要将它们限制为仅发送 "ID" 对敏感信息的引用的通知,然后客户端将使用加密客户端访问这些信息。