我正在为Ubuntu软件中心开发一个商业应用程序。由于它是商业的,我不希望用户可以简单地复制/下载应用程序从其他地方,并把它放在个人电脑上,而不首先购买它。这使我来到了许可证密钥网页 on Ubuntu.com。
正如你所看到的,描述太简单了。是否有任何教程或指南详细说明在Ubuntu中向您的软件提供许可证的最佳实践?
我正在构建一个基于私有git存储库的持续集成部署。我的项目在资源目录中包含一个非版本的PK文件。当我手动部署时,这很好,我确保私有密钥的副本在来自任何工作站的路径上。
既然我是从存储库中部署的,我想知道在哪里存储密钥。这是一个私人回购,我想我可以只是版本的PK,但我不想有一个选择。
有什么窍门吗?
更新:抱歉,PK是一个与Google一起使用的服务帐户。因此,它必须在运行时提供给Java库。例如:
public void startGoogleDrive() {
HttpTransport httpTransport = new NetHttpTransport();
Jack
假设我们在CBC模式下使用AES加密多个文件,并使用256位密钥。假设文件的IVs是通过安全方法随机生成的。假设一些密钥K是用Argon2从具有安全参数的安全密码中生成的。
假设每个文件都存储了随机数据的IV和32字节( R )。让K'=K\oplus{}R。
使用K'而不是K进行购买有什么好处或缺点吗?对任何理论或实际的密钥重用攻击或类似的保护?