首页 新闻 会员 周边

SignalR如何实现通信加密

0
悬赏园豆:50 [已关闭问题] 关闭于 2017-04-21 17:30

需求是这样的,一个保密级别比较高的通信客户端软件,比如说网络游戏吧,通信的客户端使用Microsoft.AspNet.SignalR.Client类库,服务端使用SignalR,需要对通信的信息进行加密保护,在一定程度上防止别人轻松往服务器Post数据以作弊,就需要对SignalR的通信进行加密,但研究了很久源码没有发现合适的注入点,SignalR似乎完全是没分层次的架构,一环扣一环,并没有开放注入点,请仙人指路。

郭明锋的主页 郭明锋 | 初学一级 | 园豆:114
提问于:2014-11-16 13:27
< >
分享
所有回答(1)
0

HTTPS

Launcher | 园豆:45045 (高人七级) | 2014-11-17 09:26

HTTPS防的只是半路拦截,但由于用户本地,进入传输层以前,明文传输的JSON还是可以被HTTPAnalyzer这些工具拦截到的,我是希望从代码发出的时候就是加密的字符串

支持(0) 反对(0) 郭明锋 | 园豆:114 (初学一级) | 2014-11-17 13:54

@郭明锋: 你只能自己写个类包装 SignalR Client.

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-11-17 14:45

@Launcher: 归根结底还是SignalR的架构不好,如果像WebAPI那样,只需要添加一个消息处理器DelegatingHandler来进行拦截就行了,SignalR设计得太死了,层与层之间都是直接new来获取实例,根本没有注入点,看来你说的对,想要实现这个需求,得从它的接口出发,把 业务->通信 这块重新实现一遍了

支持(0) 反对(0) 郭明锋 | 园豆:114 (初学一级) | 2014-11-17 17:05

@Launcher: 或者是手动封装消息,将数据在传入之前就转换为加密字符串,不过这样用起来就麻烦得多了,这本来应该是底层的事

支持(0) 反对(0) 郭明锋 | 园豆:114 (初学一级) | 2014-11-17 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册