

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Assinatura criptográfica de licenças no License Manager
<a name="license-signing"></a>

O License Manager pode assinar criptograficamente licenças emitidas por um ISV ou AWS Marketplace em nome de um ISV. A assinatura permite que os fornecedores validem a integridade e a origem de uma licença dentro do próprio aplicativo, mesmo em um ambiente offline. 

Para assinar licenças, o License Manager usa uma assimétrica AWS KMS key pertencente a um ISV e protegida em (). AWS Key Management Service AWS KMS Essa CMK gerenciada pelo cliente consiste em um par de chave pública e chave privada relacionadas matematicamente. Quando um usuário solicita uma licença, o License Manager gera um objeto JSON listando os direitos da licença e assina o objeto com a chave privada. A assinatura e o objeto JSON de texto simples são retornados ao usuário. Qualquer pessoa apresentada com esses objetos pode usar a chave pública para validar se o texto da licença não foi alterado e se a licença foi assinada pelo proprietário da chave privada. A parte privada do par de chaves nunca sai AWS KMS. Para obter mais informações sobre criptografia assimétrica em AWS KMS, consulte [Usando chaves simétricas e assimétricas](symmetric-asymmetric.html).

**nota**  
O License Manager chama as operações AWS KMS [https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)e a [https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html)API ao assinar e verificar licenças. A CMK deve ter um valor de uso de chave de [SIGN\_VERIFY](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-usage) para ser usada por essas operações. Essa variedade de CMK não pode ser usada para criptografia e descriptografia.

O fluxo de trabalho a seguir descreve a emissão de licenças assinadas criptograficamente:

1. No AWS KMS console, na API ou no SDK, o administrador da licença cria uma CMK assimétrica gerenciada pelo cliente. A CMK deve usar um sinal para a chave, verificar e dar suporte ao algoritmo de assinatura RSASSA-PSS SHA-256. Para obter mais informações, consulte [Criação assimétrica CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-asymmetric-cmk) e [Como escolher sua configuração de CMK](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html).

1. No License Manager, o administrador da licença cria uma configuração de consumo que inclui um AWS KMS ARN ou ID. A configuração pode especificar uma ou ambas as opções de **Empréstimo** e **provisória**. Para obter mais informações, consulte [Criar um bloco de licenças emitidas pelo vendedor](https://docs.aws.amazon.com/license-manager/latest/userguide/create-vended-license.html).

1. Um usuário final obtém a licença usando a operação de API [https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckoutLicense.html](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckoutLicense.html) ou [https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckoutBorrowLicense.html](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CheckoutBorrowLicense.html). A operação `CheckoutBorrowLicense` é permitida somente em licenças com o **Borrow** configurado. Ela retorna uma assinatura digital como parte de sua resposta junto com o objeto JSON listando os direitos. O texto simples do JSON é semelhante ao seguinte:

   ```
   {
      "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"
      }
   }
   ```