.net 对文件进行加密以告知客户端软件已激活?

.net 对文件进行加密以告知客户端软件已激活?,.net,vb.net,encryption,.net,Vb.net,Encryption,我现在面临一个相当奇怪的问题。如果你也这么认为的话:我正在寻找一种加密数据的方法。使用RSA似乎是一个不错的选择。然而,我们有一个问题,因为我的要求是这些感觉 客户端必须对文件进行加密,以确定软件是否已激活 这实际上意味着客户端必须读取加密文件。。但问题是,我们实际上需要私钥,这不是一个好主意,因为有些人可以开始使用私钥创建许可证文件。激活服务器加密发送回客户端的数据文件,然后客户端保存该文件 解决此问题的最佳方法是什么? 所以我所寻找的正是满足这些需求的方法 客户端必须对文件进行加密,以

我现在面临一个相当奇怪的问题。如果你也这么认为的话:我正在寻找一种加密数据的方法。使用RSA似乎是一个不错的选择。然而,我们有一个问题,因为我的要求是这些感觉

  • 客户端必须对文件进行加密,以确定软件是否已激活
这实际上意味着客户端必须读取加密文件。。但问题是,我们实际上需要私钥,这不是一个好主意,因为有些人可以开始使用私钥创建许可证文件。激活服务器加密发送回客户端的数据文件,然后客户端保存该文件

解决此问题的最佳方法是什么?

所以我所寻找的正是满足这些需求的方法

  • 客户端必须对文件进行加密,以确定软件是否已激活
  • 客户端以未加密/加密的形式将用户数据发送到激活服务器。那没关系。当然在这一点上加密会更好
  • 激活服务器检查该数据,然后确定是否可以激活客户端
  • 如果可以激活客户端,则服务器将发送许可证文件的加密格式。。但是问题现在出现了。。如果客户端上没有私钥,则无法在客户端上对文件进行解密,这将非常不安全

有什么想法吗?

我想你应该看看数字签名:似乎是你问题的一个好答案。

我想你应该看看数字签名:似乎是你问题的一个好答案。

我已经将其用于RSA。通过哪种方式可以解决我的问题?您是否使用X509证书来签署/检查许可证数据?我甚至不知道X509证书是什么,所以我会说不。。我正在读那篇文章,所以如果我理解的话。。解决方案的关键是签名。所以如果我是对的。。服务器将把签名发送给客户端并保存它。每次将许可证文件与该签名进行比较时。毕竟不需要解密文件。。不管怎样,为什么文件一开始会被解密?这些信息已发送到服务器。但是我们还有一个问题。。如何处理诸如过期日期之类的内容。X509证书包含您的私钥和公钥,正是这种证书用于HTTPS协议。我知道X509证书也可以用来证明您的程序没有损坏。另一种方法是在程序中实现一个秘密算法并混淆代码。最后一点,有一些公司提供这项服务(例如:,),我已经在RSA中使用了这项服务。通过哪种方式可以解决我的问题?您是否使用X509证书来签署/检查许可证数据?我甚至不知道X509证书是什么,所以我会说不。。我正在读那篇文章,所以如果我理解的话。。解决方案的关键是签名。所以如果我是对的。。服务器将把签名发送给客户端并保存它。每次将许可证文件与该签名进行比较时。毕竟不需要解密文件。。不管怎样,为什么文件一开始会被解密?这些信息已发送到服务器。但是我们还有一个问题。。如何处理诸如过期日期之类的内容。X509证书包含您的私钥和公钥,正是这种证书用于HTTPS协议。我知道X509证书也可以用来证明您的程序没有损坏。另一种方法是在程序中实现一个秘密算法并混淆代码。最后一点,有一些公司提供这项服务(例如:,)