许可证的加密签名 - Amazon License Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

许可证的加密签名

License Manager 可以以加密方式签署由 ISV 颁发的许可证或通过Amazon Web Services Marketplace代表 ISV。签名允许供应商在应用程序本身内验证许可证的完整性和来源,即使在离线环境中也是如此。

为了签署许可证,License Manager 使用属于 ISV 的非对称客户主密钥 (CMK),并在Amazon Key Management Service(Amazon KMS)。这个客户管理的 CMK 由数学上相关的公有密钥和私有 key pair 组成。当用户请求许可证时,许可证管理器会生成一个列出许可证授权的 JSON 对象,然后使用私钥对此对象进行签名。签名和明文 JSON 对象将返回给用户。出示这些对象的任何一方都可以使用公钥来验证许可证文本没有被更改以及许可证是由私钥所有者签署的。key pair 的私有部分永远不会离开Amazon KMS. 有关非对称加密的更多信息,请参阅Amazon KMS,请参阅使用对称密钥和非对称密钥.

注意

License Manager 调用Amazon KMS SignVerify签名和验证许可证时的 API 操作。密钥使用值必须为SIGN_VERIFY以便这些行动使用它。这种 CMK 不能用于加密和解密。

以下工作流程描述了加密签名许可证的颁发情况:

  1. 在Amazon KMS控制台、API 或 SDK,许可证管理员创建不对称的客户管理的 CMK。CMK 必须有签名和验证的密钥用法,并支持 RSASSA-PSS SHA-256 签名算法。有关更多信息,请参阅 。创建非对称 CMK如何选择 CMK 配置.

  2. 在 License Manager 中,许可证管理员创建一个消费配置,其中包括Amazon KMSARN 或 ID。配置可以指定之一或两者都指定临时选项。有关更多信息,请参阅 。创建卖家颁发的许可证块.

  3. 最终用户使用CheckoutLicense要么CheckoutBorrowLicenseAPI 操作。这些区域有:CheckoutBorrowLicense只允许在许可证上使用已配置。它返回数字签名作为响应的一部分,以及列出权利的 JSON 对象。明文 JSON 类似于以下内容:

    { "entitlementsAllowed":[ { "name":"EntitlementCount", "unit":"Count", "value":"1" } ], "expiration":"2020-12-01T00:47:35", "issuedAt":"2020-11-30T23:47:35", "licenseArn":"arn:aws:license-manager::123456789012:license:l-6585590917ad46858328ff02dEXAMPLE", "licenseConsumptionToken":"306eb19afd354ba79c3687b9bEXAMPLE", "nodeId":"100.20.15.10", "checkoutMetadata":{ "Mac":"ABCDEFGHI" } }