示例中使用了一组RSA密钥,实际项目中需要使用RSAKey生成新的密钥来使用
1.取消注释Generator项目中FrmGenerate.cs第37、38行内容,在39行添加断点,运行Generator项目
2.调用rsa.RSAKey方法后将生成一组密钥,私钥及对应的公钥,进行记录
3.替换私钥到Generator项目中FrmGenerate.cs的privateKey内容
4.替换公钥到Register项目中Validate.cs的publicKey内容
5.可以使用Generator和Register对自己的项目(Client测试)添加授权验证了
1.客户端从本地key.lic文件中读取授权信息
2.使用RSA公钥对授权信息进行签名验证
3.判断机器码是否与授权机器码一致
4.比对授权时间与本机时间是否过期
5.完成验证进入程序,未完成验证显示机器码提示注册
1.通过客户端机器码、授权时间等生成字串
2.使用密钥对字串进行签名
3.将签名信息和授权信息合并后整体转Base64
4.将Base64字串发送给客户端
请对Register进行签名,防止程序替换
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//进行授权验证
if (!Validate.Check())
return;
//进行授权验证(无弹框模式)
//if (!Validate.Check(false))
// return;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());
}
}
JackChen
2018-04-17