代码拉取完成,页面将自动刷新
虽然通过 smart-license 生成的 License 具备防篡改的能力, 但对于具备一定技术能力的用户而言,依旧可以采用某些手段获得 License 的源数据, 再通过 smart-license 伪造一份"合法"的 License 文件。
为此需要提供一种安全加固策略,防止某些不怀好意的人过于轻松的突破 License 的安全防线。
加固的原理如下图所示,生成License阶段采用非对称加密方式对源数据进行预处理, 而在程序运行时从License中提取到的是密文形式的源数据,需要通过公钥解密还原真实内容。
软件提供商大可将公钥硬编码至程序中,即便用户获得公钥,也无法以此伪造 License。 再则软件提供商在程序中引入代码混淆机制,增加反编译的破解难度,可以强化软件的安全程度。
运行${LICENSE_HOME}/bin/keypair.sh
生成秘钥对。
执行成功后会在命令行打印生成的公钥 publicKey 和私钥 privateKey。 为了防止秘钥对遗失,会将其存储可以当前目录的 keystore 文件中。
使用${LICENSE_HOME}/bin/license.sh
生成License的时候,传入私钥参数进行文件加密。
加载解析License时传入公钥进行解密,强烈建议将公钥硬编码至项目代码中。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。