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?
- A recebe assinatura vinculada ao hash de A.
- B lê identidade própria, obtém hash diferente e rejeita cache de A.
- 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
SHA256(UTF8(
"LicenovaDevice/v2\n"
+ lower(product_id) + "\n"
+ lower(trim(OS_machine_identity))
))