现在重点是防御用户主动做的破解,因为是商业软件,有基于用户的功能授权,所以,底线是不允许用户篡改授权内容,如果能让用户无法看到则更好。
如果你需要防止你的商业软件在你授权之外使用,你就应该用常见的反盗版方案,而不是找 HTTPS 这个不合适的工具来解决问题。
我猜你是想让客户端软件联系服务器,问服务器自己是不是正版,但你担心客户端的网络被劫持,冒充你的服务器向客户端确认正版。如果这是这一个那么具体的问题的话,SSL certificate pinning 能解决。这时候客户端绑定了服务器的 SSL 证书公钥,不会承认其他人签发的同名证书,服务器无法被冒充。
但解决这个问题对于防盗版来说,只是加长了其中一根短板,还有其它各种短板。例如说,你如何保证绑定证书的代码不被绕过?你如何保证通过网络验证正版的整个模块不会被跳过?这些都是 HTTPS 以外的常见的反盗版问题,你还是从反盗版的角度来设计整个方案吧。