Requirements

In order to design a suitable common API interface, some requirements are imposed on license systems which conform to the API. These are:

Provide support for the API as detailed in this specification. Implement a service provider and/or a link-library for each of the operating system / network platform to be supported.

Within the license document itself, provide for:

1. a minimum of four secret values, where each is a minimum of 32-bits in size.

2. a Publisher name of at least 32 characters, a Product name of at least 32 characters, and a product version number of at least 12 characters.

· The license system must be capable of providing a string which uniquely identifies itself. This string typically includes the vendor name, product name, and version.

In addition to the requirements, a few guidelines are suggested:

· Carefully choose the error messages returned by LSGetMessage(). They should be suitable for display to (and comprehensible by) an end user.

Try to map as many license system specific errors to the commonly defined error codes.

The secret values should be two-way encrypted onto the license by a unique method known only to the particular license system.

Care should be taken in non-preemptive environments not to block that environment.