我有一个java服务器通过json-rpc与java客户端进行通信。客户端应该向修改服务器行为的服务器报告内部统计信息。客户端和服务器端都是内部编写的,所以我可以控制客户端的功能以及它如何报告统计信息,但有没有办法可以验证客户端代码是否未被修改?如果有,它仍然会服务客户端,但使用一些默认行为。如何从服务器验证客户端代码没有被修改
客户端将公开提供,所以对反编译和改变行为的人来说没什么大不了的。
只需让客户端发送代码的签名就不好,因为通过将客户端的原始副本与修改后的副本保持一致,可能很容易被欺骗。
我不认为你可以。想象一下,你有这样一个声称的网络消息,你会接受为有效的。你怎么能把它与其他客户播放的录音区分开来? –