许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  FlexLM许可证管理浅谈与使用技巧

FlexLM许可证管理浅谈与使用技巧

阅读数 1
点赞 0
article_banner

1.Flexnet和FLEXlm介绍

Flexlm 是由Globetrotter 公司发明的软件加密方法Flexible License Manager。Globetrotter 公司向软件厂商出售相关开发软件,软件厂商把此加密程序集成到自己的软件中。可以锁定机器的硬盘号,网卡号,使用日期,支持加密狗,以保护软件的知识产权。被80%以上的 EDA软件公司所采用,是目前最流行的EDA 软件加密  方法,保护着世界上价值几百亿美元的EDA软件。了解Flexlm可以使我们正确的安装,管理和使用多个EDA软件。

Flexlm所管理的是License文件,所以我们首先要了解License文件的结构,以便于运行Flexlm管理License文件。

做授权的,很多软件采用基于 Flexnet 技术做授权的,而Flexnet属于Flexerasoftware厂商。目前该产品线已经细化,Flexnet Publisher是专做做授权的,大家熟悉的可能是Flexlm。

FlexNet Publisher 是最佳的选择,它通过灵活的定价、打包和授权,很容易保护,强化和增加你软件的市场份额。 它也可以给你权力来保护你的产品和非授权软件的市场占有份额而不会疏远的你的客户。FlexNet Publisher(前身为FLEXlm) 是Flexera Software 公司的产权关系管理方案的核心组件,它实现了软件授权许可管理的目的,可以在企业环境中为计算机软件提供多达上千种类型的授权许可,比如浮动授权,单机授权,按时间授权,按用户名授权等等。它能通过简化客户关系来帮助你增加企业收入。

2.FLEXlm的license文件格式介绍



     License文件由注释行,Server行,Demon行,以及Feature行构成, 另外有一个续行符'\'

     用来表示一行的继续.

       注释行

     ~~~~~~~~

     当一行的开始是'#'符号时,该行被License Manager(lmgr32xx)认为是注释行,有时候

     '|'也可以作为注释行的开始.



      Server行

     ~~~~~~~~~~

     Server行用来标识一台特定的主机,其格式是:

     SERVER nodename id port-number

        |      |      |      |

        |      |      |      |___TCP端口号,如 1700

        |      |      |

        |      |      |___主机的ID号,Win95/98/NT平台下通常是网卡物理地址  

        |      |

        |      |___主机的名称,win95/98/NT下可以用ipconfig命令看到

        |

        |____Server行开头的 关键字  ,标识该行为Server行,不能更改.

   例如:

   SERVER hostname 000012345678 TCP:1700  



     Daemon(或Vendor)行

   ~~~~~~~~~~~~~~~~~~

   Deamon行是用来标识不同的卖主(Vendor- 中文 里译做卖主怎么觉着老土老土象是卖菜的:P),

   或者说是用来标识不同的软件商吧, 其常见格式是:

   DAEMON daemon_name daemon_path

       |         |          |

       |         |          |___daemon的路径

       |         |

       |         |_______daemon的名字

       |

       |___Deamon行的关键字,Flexlm6.0以后的版本也支持用VENDOR


   例如:

   DAEMON cdslmd c:\cdslic\bin\cdslmd.exe

              |              |

              |              |___Cadence License Daemon的路径

              |

              |___Daemon的名字为cdslmd ( Cadence   License Manager Daemon 的简称)


      Feature行

   ~~~~~~~~~~~~

   Feature行是用来对软件特定的功能进行限制的,其常见的格式为:

   FEATURE name vendor version expiration_date n Key "Vendor_String" hostID

       |      |    |       |         |          |   |    |             |

       |      |    |       |_版本号  |          |   |    |             |__主机ID

       |      |    |                 |_过期时间 |   |    |                可省略

       |      |    |_厂商标识                   |   |    |

       |      |                                 |   |    |___厂商定义的字符串

       |      |__Feature名称  许可的终端用户个数|   |

       |                        (同时使用)    

Flexlm license语法

下面是一个简单的浮动license文件

SERVER lulu 17007ea8

VENDOR sampled

FEATURE f1 sampled 1.00 1-jan-2005 2 SIGN=signature1

FEATURE f2 sampled 1.00 1-jan-2005 6 SIGN=signature2

FEATURE f3 sampled 1.00 1-jan-2005 1 SIGN=signature3

SERVER是代表使用FLEXlm的客户的server端,“lulu”是hostname,“17007ea8”是HOSTID,一般采用计算机的MAC地址。

VENDOR是类似供应商开发的软件的名称,因为有很多软件采用flexlm,VENDOR是区分不同软件提供商的,因为一个server上可以有多个采用flexlm的软件(VENDOR),“sampled”是vendor name。

FEATURE是license的核心,我们可以把feature理解为一个软件中的各个模块,f1,f2,f3代表不同的模块,“1.00”是软件版本。“1-jan-2005”是过期日期,而后面的一个字段是代表可以授权的count。最后“SIGN”是对HOSTID和FEATURE行的签名,用来防止HOSTID和FEATURE的各个字段被修改。另外有时候会有USER_SERVER行,这个是指定client的HOST的

以及INCRENMENT行,这个是将多个软件的FEATURE添加到一个license file中时使用的

Flexlm的组件分析

Flexlm包括client端和server端,client端上安装要使用的供应商的软件,server端控制此软件的license的分配和管理。

我们把client端上供应商的软件叫做FLEXenable应用程序

Server端包括许可证服务器管理器lmgrd和供应商守护进程vendor deamon

因此Flexlm的组件主要包括以下几个部分:

1.FLEXenable应用程序

针对节点锁定的方式,这部分需要license的解析模块,包括license的获取属性接口,license的签名算法。针对浮动许可的方式,需要与server端的获取license授权的通信的功能。

2.Lmgrd

由flexlm提供,处理与FLEXenable软件的初始连接,还用来启动vendor deamon,以及指定使用的license文件路径等。

3.Vendor deamon

处理license的分配管理以及与client端的通信,license的解析

4.License文件

以下是各个组件之间的关系

另外还有一些输出的日志文件,调试信息文件,lmutil工具等

Flexlm许可证的请求过程

1.FLEXenable应用程序的许可证模块根据LM_LICENSE_FILE环境变量查找许可证文件,

(LM_LICENSE_FILE可以是一个license文件的完整路径,也可能是包含多个license的目录。还可能是port@host,即在网络上。节点锁定许可证采用前两种,浮动许可证采用port@host。

着重讲解浮动许可证)。

2.FLEXenable应用程序通过port@host与lmgrd建立连接,并通知它需要与其对话的vendor deamon。

3.Lmgrd确定vendor与FLEXenable对话的TCP/ IP  端口,并将其发送给FLEXenable应用程序。(这个端口可能是license中VENDOR 字段的端口,如果wendor部分没有端口描述的话,可能lmgrd会指定一个合法端口)

4.FLEXenable与VENDOR建立连接,获取lisence请求

5.VENDOR检查是否有可用的license,授权或者拒绝FLEXenable

6.FLEXenable的许可证模块根据接受的授权或者拒绝来启动或者终止FLEXenable应用程序


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空