Java 授权AMI中的spring启动应用程序

Java 授权AMI中的spring启动应用程序,java,amazon-web-services,spring-boot,amazon-ami,aws-marketplace,Java,Amazon Web Services,Spring Boot,Amazon Ami,Aws Marketplace,假设我们有一个独立的spring启动应用程序,我们将通过创建AMI并在AWS市场上共享来分发它。由于jar在AMI中可用,我想阻止用户在市场上购买AMI,然后重新分发我的jar 这是我目前的实施计划: 构建jar时,我将一个空白文件(ex:test.abc)与jar捆绑在一起 当用户第一次启动jar时,我检查该文件是否为空,如果为空,则将当前机器的mac地址写入该文件 验证文件以检查文件上的mac地址是否与机器的mac地址相同 还需要有一种方法对用户“隐藏”文件test.abc,这样用户就不能用

假设我们有一个独立的spring启动应用程序,我们将通过创建AMI并在AWS市场上共享来分发它。由于jar在AMI中可用,我想阻止用户在市场上购买AMI,然后重新分发我的jar

这是我目前的实施计划:

  • 构建jar时,我将一个空白文件(ex:test.abc)与jar捆绑在一起
  • 当用户第一次启动jar时,我检查该文件是否为空,如果为空,则将当前机器的mac地址写入该文件
  • 验证文件以检查文件上的mac地址是否与机器的mac地址相同
  • 还需要有一种方法对用户“隐藏”文件
    test.abc
    ,这样用户就不能用另一个空白
    test.abc
    重新处理jar


    是否有更好的/行业标准来满足此要求?

    Mac地址可以伪造。作为一个试验的开始,这将提出一个更好的方法。@mcfinnigan理解。除了使用伪造MAC地址的解决方法外,您认为这种方法有什么根本错误吗?是的,使用本地机密作为信任来源的方法从根本上是有缺陷的。@mcfinnigan您是否可以推荐一种更好的方法来满足这一要求?其要求是防止用户基本上复制我的jar文件并在单独的系统上使用。。我知道没有万无一失的方法,总有人会找到办法,但你认为哪种方法最好?