A method for delivery of a licensed toolset to a software publisher for
creating license-managed software products is disclosed. The method
comprises providing an authorization process, and implementing the
authorization process for both a toolset publisher and related toolset
and a software publisher and related software product, whereby the same
authorization process is used to obtain respective licenses. The
authorization process includes creating a first public and private key
pair for the software publisher, creating a second public and private key
pair for the software product, creating an authorization program for the
software program, with embedded copies of the first and second public
keys, and combining the software program and the authorization program,
such that when the authorization program is invoked, the authorization
program obtains a license for controlling the use of the software
program. The license is obtained by creating a license request,
encrypting the license request using the second private key, transmitting
the license request to a key authority, receiving a license from the key
authority with license terms, decrypting the license, and using the
license terms to control the use of the software program.