Ir para o conteúdo

Vinculação e transferência de licenças entre dispositivos

Com licença de um dispositivo, copiar o software e cache para outro computador comum não transfere a autorização original.

Device binding vs user account licensing

Account sign-in identifies the customer and their purchases; device binding determines which machine may use the license. After sign-in, the SDK must still verify device identity, signatures and feature entitlements. Copying account session data or cache files to another computer does not replace that computer's own license verification.

Como o SDK identifica o computador?

Ao iniciar, o SDK lê a identidade do sistema e calcula o hash com o ID do produto. A assinatura do servidor inclui esse hash, também conferido localmente.

Windows lê MachineGuid, Linux machine-id e macOS IOPlatformUUID. Só envia o hash calculado, não a identidade bruta. O campo antigo da configuração device_id não substitui identidade local real.

O que acontece ao copiar os arquivos de A para B?

  1. A recebe assinatura vinculada ao hash de A.
  2. B lê identidade própria, obtém hash diferente e rejeita cache de A.
  3. B precisa ativar online. Com limite de um dispositivo e A ainda vinculado, o servidor recusa B.

Como o cliente troca de computador?

O cliente desvincula o computador antigo e ativa o novo. Se o antigo quebrou, libere em Ativações de dispositivos no console. A troca não reinicia o vencimento.

Reinstalar o sistema pode mudar sua identidade e exigir ativação como novo dispositivo. Clonagem completa, identidade falsa ou cliente alterado são ataques mais fortes; o hash sozinho não garante proteção.

Com offline prolongado, a assinatura de A não sabe imediatamente que foi liberada. Uma requisição bem-sucedida atualiza o estado. Quanto maior o período offline, mais demora a restrição remota.

Hash de dispositivo entre linguagens
Sete SDKs usam o mesmo algoritmo
SHA256(UTF8(
  "LicenovaDevice/v2\n"
  + lower(product_id) + "\n"
  + lower(trim(OS_machine_identity))
))