Flexnet License文件格式(译)

License管理 0 1744 佚名 收藏

一、基本格式内容

许可证文件通常以一个 SERVER 行开始 (包含三个服务器的冗余服务器为三行),后跟一个或多个 VENDOR 行,然后是一个或多个 FEATURE 或 INCREMENT 行。在某些情况下,许可证文件不需要 SERVER 行和 VENDOR 行。

您可以在许可证文件中修改以下元素:

•     SERVER 行中的主机名

•     SERVER 行中的 TCP/IP 端口号

•     一组 SERVER 行中的包含三个服务器的冗余配置

•     VENDOR 行中的路径

•     VENDOR 行中的选项文件路径

•     VENDOR 行中的可选TCP/IP 端口号 (仅用于防火墙支持)

•     USE_SERVER 行

•     FEATURE 行的 keyword=value 对中的值 (如果以小写形式指定 keyword) 可以使用 “\”续行符将较长的行断开。

许可证文件、选项文件、日志文件以及 FLEXenabled 应用程序环境中完全支持 8 位基于拉丁语的字符。

二、文件语法

示例许可证文件

以下许可证文件示例用于使用两个功能的单个供应商。

SERVER my_server 17007ea8 1700 VENDOR sampled
FEATURE f1 sampled 1.000 01-jan-2005 10 SIGN=9BFAC0316462 
FEATURE f2 sampled 1.000 01-jan-2005 10 SIGN=1B9A308CC0F7

上面的许可证文件允许 hostid 为 “17007ea8”的许可证服务器系统 “my_server”向网络上的任何用户提供流动许可证,它分别为每个功能 (“f1”和 “f2”)提供 10 个流动许可证。

SERVER 行

SERVER 行指定了许可证服务器系统的主机名和 hostid 以及许可证服务器管理器

(lmgrd) 的 TCP/IP 端口号。通常,许可证文件包含一个 SERVER 行。如果包含三个

SERVER 行,则意味着使用的是包含三个服务器的冗余许可证服务器系统。如果不包含 SERVER 行,则意味着不对许可证文件中的每个 FEATURE 和 INCREMENT 行进行计数。

将对 SERVER 行中的 hostid 进行计算以得出每个 FEATURE 和 INCREMENT 行中的许可证密钥或签名。为此,请确保将 SERVER 行与任何 FEATURE/INCREMENT 行放在一起,因为它们都是从供应商发送的。

SERVER 行的格式为:

SERVER host hostid [port] [PRIMARY_IS_MASTER] [SERVER_TIMEOUT=seconds]

其中:

字段说明
host
系统主机名或 IP 地址。UNIX hostname 或 uname -n 命令返回的字符串。在 NT/2000/XP 上, ipconfig /all 返回主机名;在 Windows 95/98/ME 上,winipcfg /all 返回主机名。
hostid通常是由 lmhostid 命令返回的字符串。只能由软件供应商对其进行更改。
port

要使用的 TCP/IP 端口号。有效号码是介于 0 和 64000 之间的任何未使用的端口号。在 UNIX 上,应选择 >1024 的端口,因为 <1024 的端口是拥有授权的端口号。如果未指定 TCP/IP 端口号,则使用在 27000-27009 范围内的缺省端口之一。

在包含三个服务器的冗余许可证服务器系统配置中,用于指定服务器的 SERVER 行要求指定端口号; Macrovision 建议使用在 27000-27009 范围以外的端口号。

PRIMARY_IS_MASTER

对于包含三个服务器的冗余配置,指示如何在主服务器和辅助服务器之间转换主控制权。

如果设置此字段并且主服务器发生故障,辅助服务 器将变为主服务器,并在主服务器恢复正常后立即 将控制权交回给主服务器。

如果没有设置此字段并且主服务器发生故障,辅助 服务器将变为主服务器,甚至在主服务器恢复正常 后仍然作为主服务器。

如果主服务器和辅助服务器都发生故障,则不再提供许可证。在任何情况下,第三台服务器都不会变为主服务器。此参数是可选的,它放在许可证文件的第一个 SERVER 行中。要使用此参数,您运行的必须是 v10.8 供应商守护程序。

SERVER_TIMEOUT= 秒

对于包含三个服务器的冗余配置,指示服务器从配置中的另一台服务器接收心跳时,将其自身关闭之前等待多长时间。以下等式中使用 seconds 来计算超时:

超时 = (3 x seconds) + (seconds - 1)

如果未指定,则 seconds 缺省值为 20,相当于超时为

79 秒。 seconds 的有效值为 0 到 120。

此参数是可选的,它放在许可证文件的第一个 SERVER 行中。要使用此参数,您运行的必须是 v10.8 供应商守护程序。

示例:

SERVER my_server 17007ea8 21987


VENDOR 行

VENDOR 行指定了守护程序名称和路径。 lmgrd 使用该行来启动供应商守护程序,而供应商守护程序读取该行以查找其选项文件。 VENDOR 行的格式如下所示。

VENDOR vendor [vendor_daemon_path]  [[OPTIONS=]options_file_path] [[PORT=]port]

其中:

字段说明
vendor用于提供文件中的某个或某些功能的供应商守护程序的名称。管理员无法更改此名称。
vendor_daemon_ path

该守护程序的可执行文件的可选路径。通常,许可证管理员可以不受限制地将守护程序安装在任何目录中 (但是,建议将其安装在许可证服务器计算机的本地目录中)。

如果省略, lmgrd 将在以下位置中查找供应商守护程序二进制文件:

当前目录

lmgrd 的 $PATH 环境变量中指定的路径

lmgrd 所在的目录

如果 vendor_daemon_path 为空,则任何选项或 TCP/IP

端口号说明需要 OPTIONS= 和 PORT= 字符串。

options_file_ path

该守护程序的最终用户选项文件的完整路径。 FLEXnet

Licensing 不需要选项文件。

如果省略,供应商守护程序缺省情况下查找名为 vendor.opt 的文件 (其中, vendor 是供应商守护程序名称),它位于与许可证文件相同的目录中

port

供应商守护程序 TCP/IP 端口号。

如果未指定 port,操作系统在运行时将选择缺省端口号。使用 Internet 防火墙的站点需要指定守护程序使用的 TCP/IP 端口号。如果在 VENDOR 行中指定了 TCP/IP 端口号,重新启动供应商守护程序时可能会出现延迟。

USE_SERVER 行

USE_SERVER 不使用任何参数,并且对服务器没有任何影响。当应用程序看到

USE_SERVER 时,它忽略许可证文件中前面的 SERVER 行以外的任何其它内容,并将检出验证移交给供应商守护程序。

建议使用USE_SERVER,因为在使用许可证服务器系统时它可提高性能。对于不计数  功能,守护程序可使用 USE_SERVER 强制记录使用情况。

FEATURE/INCREMENT 行

FEATURE 行描述了使用产品时所需的许可证。可以使用 INCREMENT 行来替代

FEATURE 行,以及按增量方式为许可证文件中之前的 FEATURE 或 INCREMENT 行增加许可证。

供应商守护程序仅处理给定功能的第一个 FEATURE 行。如果要使用相同功能的其它副本 (例如,使用多个节点锁定的计数功能),则必须使用多个 INCREMENT 行。

INCREMENT 行基于以下字段构成许可证组或池:

feature name

version

DUP_GROUP

FLOAT_OK

HOST_BASED

HOSTID

PLATFORM

USER_BASED

VENDOR_STRING (如果供应商将其配置为池组件)

如果两个行由于其中的任何字段而不相同,则会在供应商守护程序中创建一个新的许可证组 (称为许可证池),该组将独立于其它具有相同功能名称的许可证池进行计数。 FEATURE 行并没有提供额外数量的许可证;而 INCREMENT 行始终提供额外数量的许可证。

FEATURE/INCREMENT 行的基本格式为:

{FEATURE|INCREMENT} feature vendor feat_version exp_date \
num_lic SIGN=sign [optional_attributes]

要求使用FEATURE/INCREMENT 行关键字后面的 6 个字段,并且它们具有固定的顺序。这些字段是由供应商定义的,不能对其进行更改。下表按照必须出现的顺序列出了这些字段。

FEATURE/INCREMENT 行的必需字段:

字段

说明

feature

供应商为功能指定的名称。

vendor

供应商守护程序的名称,它也出现在 VENDOR 行中。指定的守护程序提供此功能。

feat_version

此许可证支持的该功能的版本。

exp_date

采用 dd-mmm-yyyy 格式的许可证有效日期,如 07-may-

2005。注意:如果 exp_date 为字符串 “permanent”或年份为 0 (或 00、 000、 0000),则许可证永远不会到期。

num_lic

此功能的并发许可证数量。如果将 num_lic 设置为字符串“uncounted”或 0,则不对此功能的许可证进行计数,并且不需要 lmgrd,但需要 FEATURE 行中的 hostid。

SIGN=sign 或

SIGN= 用于鉴定此 FEATURE 行的签名。

AUTH=...

如果发行商使用常用供应商守护程序技术配置其供应商守


护程序,则会在 AUTH= 关键字中嵌入许可证证书签名。


有关进一步的详细信息,请咨询发行商。

下表列出了可能出现在FEATURE 或 INCREMENT 行中的属性。这些属性是由供应商自行提供的,以便提供特定的许可行为。如果出现在 FEATURE 或 INCREMENT 行中,它们必须保留在该位置,最终用户不能对其进行更改。这些属性使用

keyword=value 语法,其中, keyword 为大写形式。

 而其中的 value 是用双引号 ("...") 引起来的字符串,该字符串可以包含引号以外的任何字符。

供应商提供的属性:

属性

说明

BORROW[=n]

为特定 FEATURE/INCREMENT 行启用许可证借用。n 是借用许可证的小时数。缺省借用期限为 168 小时或一周。

DUP_GROUP=...

语法为:

DUP_GROUP=NONE|SITE|[UHDV]

U = DUP_USER H = DUP_HOST

D = DUP_DISPLAY

V = DUP_VENDOR_DEF

允许使用任何 UHDV 组合, DUP_MASK 是此组合中的任意一种。例如, DUP_GROUP=UHD 表示重复组为(DUP_USER|DUP_HOST|DUP_DISPLAY),因此,对于相同主机和显示器上的用户,额外使用功能不会使用其它 许可证。

FLOAT_OK

[=server_hostid]

通过 FLEXid 以及 FLOAT_OK 为特定

FEATURE/INCREMENT 行启用移动许可。对于 FLEXid, 此 FEATURE/INCREMENT 行也必须是节点锁定的。

在 FEATURE 行中指定 FLOAT_OK=server_hostid 时:

•     server_hostid 必须指的是在许可证文件的 SERVER

行中出现的相同主机。

•     许可证服务器系统仅在特定计算机上运行,即

lmhostid 返回的 hostid 等于使用 FLOAT_OK 指定的

server_hostid。

HOSTID=

"hostid1 [hostid2 ...

hostidn]"

FEATURE 行捆绑到的主机的 ID。   hostid 是使用

lmhostid 实用程序确定的。不计数许可证需要使用该字段;但它也可以用于计数许可证。

HOST_BASED[=n]

必须在最终用户选项文件的 INCLUDE   语句中指定主机名, 并且将主机数量限制为   num_lic 或 =n 中指定的数量。

ISSUED=dd-mmm-yyyy

签发日期。

ISSUER="..."

许可证签发者。

NOTICE="..."

用于知识产权通告的字段。

OVERDRAFT=n

通过使用过度使用策略,除了用户购买的许可证外,供 应商还可以指定一组允许用户使用的其它许可证。这样, 在处于 “临时过度使用”状态时,用户不会被拒绝服务。FLEXnet Manager 报告工具将报告超过许可证限制的使用情况。

PLATFORMS="..."

使用情况受所列出平台限制。

SN=serial_num

用于标识 FEATURE 或 INCREMENT 行的序列号。

START=dd-mmm-yyyy

开始日期。

SUITE_DUP_GROUP=...

类似于 DUP_GROUP,但只影响为软件包套件启用

FEATURE 行的操作。它将软件包的用户总数限制为许可证数量,并且允许在检出 SUITE 的用户之间共享软件包。

SUPERSEDE=

"f1 f2 ..."

如果出现此属性,在 ISSUED= 中指定的日期之前签发的所有许可证将被此行取代 并变成无效。

TS_OK

FLEXnet Licensing 检测何时在 Windows 终端服务器上运行节点锁定的不计数许可证。要通过终端服务器客户端   窗口来运行该应用程序,必须将 TS_OK 添加到 FEATURE 行中。如果没有 TS_OK,则拒绝在终端服务器客户端上运行的用户使用许可证。

USER_BASED[=n]

必须在最终用户选项文件的 INCLUDE   语句中指定用户名, 并且将用户数量限制为 num_lic 或 =n 中指定的数量。

VENDOR_STRING="..."

供应商定义的字符串,用双引号引起来。

下表中列出的以下属性是可选的,由最终用户控制。这些属性使用 keyword=value语法,其中, keyword 为小写形式。

最终用户属性:


属性

说明

asset_info="..."

许可证管理员为进行资产管理而提供的附加信息。

dist_info="..."

软件分销商提供的附加信息。

sort=nnn

指定许可证文件行的排序顺序。

user_info="..."

许可证管理员提供的附加信息。

vendor_info="..."

软件供应商提供的附加信息。

示例:

FEATURE sample_app sampled 2.300 31-dec-2005 20 \ SIGN=123456789012
INCREMENT f1 sampled 1.000 permanent 5 \ HOSTID=INTERNET=195.186.*.* NOTICE="Licensed to \
Sample corp" SIGN=901234567890

优先顺序

FLEXnet Licensing 处理 FEATURE/INCREMENT 许可证文件行时,将自动对其进行排序;缺省排序规则如下所示:

1.许可证文件。不会自动对许可证文件列表中的文件进行排序。

2.功能名称。

3.FEATURE 在 INCREMENT 之前。

4.不计数在计数之前。

5.版本,较高版本在较低版本之前。

6.签发日期,按逆序排列,最新日期在最前面。日期是从 ISSUED= 或 START= 中提取的。

7.在其它情况下,保留原始顺序。

要关闭自动排序,请在 FEATURE/INCREMENT 行中添加 sort=nnn,其中, nnn 在所有行中是相同的; nnn 指定相对排序顺序。缺省排序顺序值为 100。排序顺序值小于100 的行排在所有没有该属性的行之前;排序顺序值大于 100 的行出现在所有未标记的行后面。所有排序顺序数值相同的行按它们在文件中的出现顺序进行排列。

PACKAGE 行

PACKAGE 行的用途是支持两种不同的许可需求:

• 为产品 SUITE 授予许可,或

• 提供一种更有效的方法来分发包含大量功能的许可证文件,这些功能在很大程度上  共享相同的 FEATURE 行参数。

PACKAGE 行本身不会为任何产品授予许可;它需要匹配的 FEATURE/INCREMENT 行,以便为整个软件包授予许可。 PACKAGE 行是由软件供应商随产品一起提供的, 它与任何许可证无关。以后,为该软件包购买许可证时,一个或多个相应

FEATURE/INCREMENT 行将启用 PACKAGE 行。

示例:

PACKAGE package vendor [pkg_version] COMPONENTS=pkg_list \ 
    [OPTIONS=SUITE] [SUPERSEDE[="p1 p2 ..."] ISSUED=date]
    SIGN=pkg_sign

下表列出了 PACKAGE 行字段。它们必须按列出的顺序显示。

PACKAGE 行字段:


字段

说明

package

软件包名称。相应 FEATURE/INCREMENT 行必须具有相同的名称。

vendor

支持此软件包的供应商守护程序的名称。

pkg_version

指定软件包版本的可选字段。如果指定,启用

FEATURE/INCREMENT   行必须具有相同的版本。

COMPONENTS=pkg_list

软件包组件列表。格式为:

feature[:version[:num_lic]]

软件包必须至少包含一个组件。版本和计数是可选的, 如果省略,则它们的值来自相应的

FEATURE/INCREMENT 行。仅当未设置 OPTIONS=SUITE

时, num_lic 才是合法的;在这种情况下,得到的许可证数是 COMPONENTS   行中的 num_lic 乘以

FEATURE/INCREMENT   行中的许可证数。示例:

COMPONENTS="comp1   comp2 comp3 comp4" COMPONENTS="comp1:1.5 comp2 comp3:2.0:4"

OPTIONS=SUITE

可选字段。用于表示软件包套件。

如果设置该项,除了检出相应组件功能,还将检出与软件包具有相同名称的相应功能。

如果不设置该项,则启用软件包后即删除与软件包具有相同名称的相应功能;检出组件功能时并不检出与软件包具有相同名称的相应功能。

OPTIONS=   SUITE_RESERVED

可选字段。如果设置该项,则保留一组软件包组件。检出软件包组件后,将为相同用户保留所有其它组件。

SUPERSEDE

[="p1 p2 ..."]

可选字段。与 ISSUED 日期一起使用。将所有具有相同软件包名称的 PACKAGE 行替换为 dd-mmm-yyyy 前面的 ISSUED 日期。

ISSUED=dd-mmm-yyyy

可选字段。与 SUPERSEDE 一起使用。将所有具有相同软件包名称的 PACKAGE 行替换为 dd-mmm-yyyy 前面的 ISSUED 日期。

SIGN=sign 或

AUTH=...

SIGN= 用于鉴定此 FEATURE 行的签名。

如果发行商使用常用供应商守护程序技术配置其供应商守护程序,则会在   AUTH= 关键字中嵌入许可证证书签名。有关进一步的详细信息,请咨询发行商。

示例:

PACKAGE suite sampled 1.0 SIGN=3B24B2F508CB \ 
    COMPONENTS="comp1 comp2" OPTIONS=SUITE
    FEATURE suite sampled 1.0 1-jan-0 5 SIGN=4193E6ABCCCB

这是典型的 OPTIONS=SUITE 示例。两个功能 “comp1”和 “comp2”分别具有版本1.0,并且分别具有 5 个未过期的可用许可证。检出 “comp1”或 “comp2”时,也会检出 “suite”。

PACKAGE suite sampled 1.0 SIGN=2CBF44FCB9C1 \ 
    COMPONENTS="apple:1.5:2 orange:3.0:4"
    FEATURE suite sampled 1.0 1-jan-2005 3 SIGN=321E78A17EC1 SN=123

在此示例中,组件版本覆盖功能版本,任何组件的可用许可证数量是 “suite”的三个许可证与该组件的许可证数量的乘积。结果等于:

FEATURE apple sampled 1.5 1-jan-2005 6 SIGN=0D3AD5F26BEC SN=123 
FEATURE orange sampled 3.0 1-jan-2005 12 SIGN=EB16C5AE61F0 SN=123


UPGRADE 行

UPGRADE feature vendor from_feat_version to_feat_version \
exp_date num_lic [options ... ] SIGN=sign

所有数据与 FEATURE 或 INCREMENT 行相同,并且增加了 from_feat_version 字段。UPGRADE 行从任何旧版本 (>= from_feat_version) 中最多删除指定数量的许可证,并使用相同数量的许可证创建一个新版本。

例如,以下两行:

INCREMENT f1 sampled 1.000 1-jan-2005 5 SIGN=9BFAC0316462 
UPGRADE f1 sampled 1.000 2.000 1-jan-2005 2 SIGN=1B9A308CC0F7

分别提供了 “f1”的三个 v1.0 许可证以及 “f1”的两个 v2.0 许可证。

UPGRADE 行使用版本号 >= from_feat_version 和< to_feat_version 对前面最近的 FEATURE 或 INCREMENT 行进行操作。

注意UPGRADE 行不适用于节点锁定的不计数许可证。


相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码