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:

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



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



Product-Name = Drink


The Name of the Registered owner of the license.



Registered-To = Bob


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





Expires = 09-Oct-2005



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.,, 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, is the same as 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 the network address would be written simply as: 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).


Example (Wildcard):

IP-Range = 10.1.*.*

Example (Net Mask):

IP-Range =

Example (Net Mask):

IP-Range =


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 on page 47.

REQUIRED if Hardware-Locked is set equal to YES.

Meaningless if Hardware-Locked is set equal to NO.




[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.



Hardware-Locked = YES




Tea = Mint Flavor


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.



X-Coffee = Black with no cream or sugar



Related links

Related Links:
Command Line

zendenc and zendenc5

zendenc - Command Line Examples

zendenc_sign – Command