Creating a Signature License (Command Line)

Signature license files work in conjunction with the following encoded files: Require Valid License or Licensing Support. In addition, they must be encoded from the same product.

This can be an encoded file created by the Zend Guard user interface, or an encoded file generated by zendenc with the --license-product or --sign-product options.

There are two ways to create a signed license file:

  • Create a License Definition File, and run zendenc_sign <lic_def_file> <signed_file>

  • Run zendenc_sign <signed_file>. The signing utility will then prompt you to type in the license information.

License Definition File

The following table lists the license definition parameters, a short description, rank, and required status, as well as examples. All of the following are case sensitive. Every line has to be written in the format:

Entry = Value

(The format is a single space before the equal sign and another one after the equal sign). The order of definitions will be a permanent part of the signature. This means the lines of the license file must maintain the same sequence. If the order of the definitions in the license file changes from what the signature contains, the license becomes invalid. Definition Files can be created in text editors, such as Microsoft Notepad or VI.

Field Name

Description

Product-Name

The name assigned to Product. This must be the same name used when encoding the PHP files.

REQUIRED

Example:

Product-Name = Drink

Registered-To

The Name of the Registered owner of the license.

REQUIRED

Example:

Registered-To = Bob

Expires

Expiration date of the license. Used if the license is issued with a date restriction.

Format:

DD-MM-YYYY

OPTIONAL

Example:

Expires = 09-Oct-2005

IP-Range

 

Limits the use of the license to IP addresses that fall within specification. Supports wildcards for any of the IP place holders, as well as the two types of net masks (filters).

Netmask pair An IP a.b.c.d, and a netmask w.x.y.z. (That is., 10.1.0.0/255.255.0.0), where the binary of mask is applied to filter IP addresses.

ip/nnn (similar to a CIDR specification) This mask consists of nnn high-order 1 bits. (That is, 10.1.0.0/16 is the same as 10.1.0.0/255.255.0.0). Instead of spelling out the bits of the subnet mask, this mask notation is simply listed as the number of 1s bits that start the mask. Rather than writing the address and subnet mask as 192.60.128.0/255.255.252.0 the network address would be written simply as: 192.60.128.0/22 which indicates starting address of the network and number of 1s bits (22) in the network portion of the address. The mask in binary is (11111111.11111111.11111100.00000000).

OPTIONAL

Example (Wildcard):

IP-Range = 10.1.*.*

Example (Net Mask):

IP-Range = 10.1.0.0/255.255.0.0

Example (Net Mask):

IP-Range = 10.1.0.0/16

Host-ID

Coded string (Zend Host ID) used to lock the license to a specific hardware. The Zend Host ID obtained from the machine where the encoded files and license are to be installed. The Zend Host ID code can be obtained by using the zendid utility. For more details, see Getting the Zend Host ID.

REQUIRED if Hardware-Locked is set equal to YES.

Meaningless if Hardware-Locked is set equal to NO.

Example:

Host-ID = H:MFM43-Q9CXC-B9EDX-GWYSU

Hardware-Locked

[YES | NO] option that indicates if the license will be locked to a specific machine using the Zend Host ID code(s). If set to YES, the Host-ID is required.

REQUIRED

Example:

Hardware-Locked = YES

UserDefinedField

OPTIONAL

Example:

Tea = Mint Flavor

X-UserDefinedField

User defined field prefixed with X-. Any additional information, which the user would like to add to the license file but not to the signature. This information allows flexibility of input both prior to generating the signature and after. Any change to this information in the signature license-file will have no impact on the validity of the license.

OPTIONAL

Example:

X-Coffee = Black with no cream or sugar