1. A method for providing a secure license key for a license controlling software use, the method comprising: recording an association between a public and private key pair and a licensee at a database of a license key management system; generating, at a processor, an internal license key for the license, the internal license key comprising a message signed by the private key associated with the licensee, and the internal license key being verifiable with the public key; generating an external license key comprising the internal license key and the public key; and providing the external license key to a software enabler configured for receiving the external license key, extracting the public key and the internal license key therefrom and verifying the internal license key for enabling use of licensed software associated with the licensee; wherein the software enabler enables the use of the licensed software once the internal license key is verified.