许可证的加密签名 - 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 组成。当用户请求许可证时,License Manager 会生成一个列出许可证授权的 JSON 对象,并使用私钥对此对象进行签名。签名和明文 JSON 对象将返回给用户。提供这些对象的任何一方都可以使用公钥来验证许可证的文本是否未被更改,并且许可证是否由私钥所有者签名。key pair 的私有部分永远不会离开Amazon KMS。有关非对称加密的更多信息,Amazon KMS,请参阅使用对称密钥和非对称密钥

注意

License Manager 调用Amazon KMS SignVerify签名和验证许可证时的 API 操作。CMK 的密钥使用值必须为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::277886486208:license:l-6585590917ad46858328ff02dEXAMPLE", "licenseConsumptionToken":"306eb19afd354ba79c3687b9bEXAMPLE", "nodeId":"100.20.15.10", "checkoutMetadata":{ "Mac":"ABCDEFGHI" } }