98
Getting Started with License File–Based Licensing FlexNet Publisher Licensing Toolkit 11.9.1

fnp_GS-LF

Embed Size (px)

DESCRIPTION

gfx

Citation preview

  • Getting Started with License FileBased LicensingFlexNet Publisher Licensing Toolkit 11.9.1

  • Legal Information

    Copyright NoticeCopyright 2010 Flexera Software, Inc. and/or InstallShield Co. Inc. All Rights Reserved.

    This product contains proprietary and confidential technology, information and creative works owned by Flexera Software, Inc. and/or InstallShield Co. Inc. and their respective licensors, if any. Any use, copying, publication, distribution, display, modification, or transmission of such technology in whole or in part in any form or by any means without the prior express written permission of Flexera Software, Inc. and/or InstallShield Co. Inc. is strictly prohibited. Except where expressly provided by Flexera Software, Inc. and/or InstallShield Co. Inc. in writing, possession of this technology shall not be construed to confer any license or rights under any Flexera Software, Inc. and/or InstallShield Co. Inc. intellectual property rights, whether by estoppel, implication, or otherwise.

    All copies of the technology and related information, if allowed by Flexera Software, Inc. and/or InstallShield Co. Inc., must display this notice of copyright and ownership in full.

    TrademarksFlexera Software, AdminStudio, DemoNow, FlexEnabled, Flexlm, FlexNet, FlexCertified, FlexNet Connect, FlexNet Connector, FlexNet Manager, FlexNet Publisher, Globetrotter, InstallAnywhere, InstallAnywhere.NET, InstallFromTheWeb, InstallShield, InstallShield Developer, InstallShield DevStudio, InstallShield Professional, It All Starts Here, LaunchAnywhere, OneClickInstall, Package For The Web, PowerUpdate, QuickPatch, SolutionArchitect, SpeedFolder, and Zero G Software are registered trademarks or trademarks of Flexera Software, Inc. and/or InstallShield Co. Inc. in the United States of America and/or other countries. All other brand and product names mentioned herein are the trademarks and registered trademarks of their respective owners.

    Restricted Rights LegendThe software and documentation are commercial items, as that term is defined at 48 C.F.R. 2.101, consisting of commercial computer software and commercial computer software documentation, as such terms are used in 48 C.F.R. 12.212 or 48 C.F.R. 227.2702, as applicable. Consistent with 48 C.F.R. 12.212 or 48 C.F.R. 227.2702-1 through 227.7202-4, as applicable, the commercial computer software and commercial computer software documentation are being licensed to U.S. government end users (A) only as commercial items and (B) with only those rights as are granted to all other end users pursuant to the terms and conditions set forth in the Flexera Software, Inc. standard commercial agreement for this software. Unpublished rights reserved under the copyright laws of the United States of America.

    Book Name: Getting Started with License FileBased Licensing

    Part Number: FNP-1191-GSLF00

    Product Release Date: December 2010

  • Debug Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    Administrative Options File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15Report Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

    License Request Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

    Unserved License Model Request Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

    Served License Model Request Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

    3 Overview of the FlexNet Publisher Licensing Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    FlexNet Publisher Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

    Identifying the Toolkit Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18Contents

    1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    FlexNet Publisher Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

    2 Introduction to License FileBased Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    The FlexNet Licensing Ecosystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

    License Model Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

    Unserved License Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

    Served License Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

    FlexNet Publisher Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

    FLEXenabled Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

    License Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    FlexNet License Server Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    Vendor Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15Getting Started with License FileBased Licensing FNP-1191-GSLF00 3

    Examining the Sample License Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    Uncounted License File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    Served License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19

    Expiring License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

  • Contents4 Evaluating FlexNet Publisher on Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    Evaluating the End-User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

    Unserved License Model Demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

    Using an Uncounted License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

    Served License Model Demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

    Configuring the Demo License Server as a Windows Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

    Starting the Demo License Server (using LMTOOLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

    Checking the Status of the Demo License Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24

    Using a Floating License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

    Attempting to Check out an Unlicensed Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

    Stopping the Demo License Server (using LMTOOLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

    Evaluating the Software Publisher Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

    Licensing Individual Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

    Editing the License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

    Re-signing the License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    Testing Node-Locked, Uncounted Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    Creating Node-Locked, Uncounted Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

    Testing Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

    Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

    Testing an Expiring License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

    Building the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    Setting Up the Microsoft Visual Studio Development Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    Configuring the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    Changing TRL Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    Building the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

    Re-signing the Sample License File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

    5 Evaluating FlexNet Publisher on UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Evaluating the End-User Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

    Starting the Demo License Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

    Checking the License Server Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

    Running the Sample FlexEnabled Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

    Trying to Check Out an Unlicensed Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

    Stopping the Demo License Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

    Testing an Uncounted License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

    Evaluating the Publisher Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

    Licensing Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

    Editing the License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

    Re-signing the License File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

    A Node-locked, Uncounted License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

    Creating a Node-locked, Uncounted License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

    Testing the License. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .404 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • ContentsSecurity Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

    Testing an Expiring License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

    Building the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

    Configuring the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

    Changing TRL Strength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

    Building the FlexNet Publisher Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

    Re-signing the Sample License File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

    Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44

    6 License Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Creating a License Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

    Basic License Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

    Node-Locked Uncounted Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

    Evaluation License Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46

    Node-Locked Counted Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

    Floating Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

    License Model Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

    Required License Model Modifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

    Optional License Model Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

    Usage-Based Licensing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

    Mobile Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

    Determining the Need for a License Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

    7 Publisher Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Summary of Publisher Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

    Core Decisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

    Determining Licensable Product Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54

    Hostid Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54

    Checkout Failure Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55

    Check-in Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56

    Optional Diagnostic Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56

    License Server Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

    Maintaining Consistency with the License Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

    Connection/Reconnection Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

    Heartbeat Implementation Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58

    License Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58

    Check-in Considerations for Served Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

    License Server Redundancy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

    Support for Server Virtualization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

    8 License Security Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61Getting Started with License FileBased Licensing FNP-1191-GSLF00 5

  • ContentsLimiting Exposure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

    Server-Side Exposure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

    Product-Side Exposure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

    License Signature Encryption Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

    Expiring Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

    Date Tampering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

    HOSTID Choices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63

    Building the Product: Dynamic vs. Static Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

    Tracking End-User Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

    Usage Data Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

    9 License Fulfillment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    License Fulfillment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65

    Automated Fulfillment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65

    Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    Other Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    Strategy for Delivering Rights Over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    Upgrading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    Incrementing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    Superseding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

    Support Entitlement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

    Transferring Rights - License Rehosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

    Evaluation Licensing Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67

    Limited-Time Demos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68

    Limited Functionality Demos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68

    10 Licensing Case Study. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

    Defining the License Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

    Product Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70

    Licensing Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

    License Policy Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

    Basic License Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

    License Model Modifiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71

    License Server Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72

    Publisher Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72

    Licensable Product Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72

    Hostid Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

    Checkout Failure Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

    Checkin Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

    License Server Consistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73

    Support for Virtual Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .746 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • ContentsLicensing Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

    License Fulfillment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

    Usage Rights over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

    License Rehosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74

    Evaluation Licensing Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

    License File Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

    Sample License Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

    Evaluation Product Configuration Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

    Standard Product Configuration Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76

    Updating the License Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78

    Upgrading to a New Product Version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

    Upgrading from a Standard to Professional Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

    Product Deliverables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

    Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Getting Started with License FileBased Licensing FNP-1191-GSLF00 7

  • Contents8 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • perspective.Evaluating FlexNet Publisher on UNIX

    Walks you though the process of evaluating FlexNet licensing behavior on UNIX, both from the end users and the software publishers perspective

    License Models Overview of FlexNet licensing and the basic steps for creating a license model.

    Publisher Decisions Presents licensing policy concepts that you need to think about when designing a licensing policy for your product.1Introduction

    This manual describes the basic concepts of FlexNet Licensing, license models, and concepts for designing license policies using license files. For a complete overview of FlexNet Publisher capabilities, also read the companion document, Getting Started with Trusted Storage-based Licensing.

    Table 1-1 Getting Started with License FileBased Licensing Chapter Overview

    Topic Content

    Introduction to License FileBased Licensing

    Provides a general overview of FlexNet licensing using license rights held in license files.

    Overview of the FlexNet Publisher Licensing Toolkit

    Provides an overview of the structure and contents of the FlexNet Publisher toolkit.

    Evaluating FlexNet Publisher on Windows

    Walks you though the process of evaluating FlexNet licensing behavior on Windows, both from the end users and the software publishers Getting Started with License FileBased Licensing FNP-1191-GSLF00 9

    License Security Systems Discusses license security, including issues and strategy for implementation.

    License Fulfillment Overview of license fulfillment and installation at the end-user site.

  • Chapter 1: IntroductionFlexNet Publisher Product DocumentationFlexNet Publisher Product DocumentationThe following documents provide information about FlexNet Publisher:

    Release Notes communicates information about changes to the application and supported third-party applications.

    Installation Guide describes how to install the Licensing toolkit.

    Getting Started with License File-based Licensing contains information for those software vendors new to FLEXnet Licensing using license file-based licensing. It includes an evaluation procedure that introduces these licensing concepts from both the software publisher and end-users perspective.

    Creating a Licensed Product: Setting up and Using the Development and Build Environment describes how to integrate the toolkit into the development environment, build a production licensing toolkit, and distribute a FlexEnabled application.

    License File-based Programming Reference contains information about license file-base licensing. Certain information is relevant to both license file-based and trusted storage-based licensing. You should read this document and Getting Started with License File-based Licensing to understand the basic concepts of FLEXnet Licensing if you have not previously used it.

    C/C++ Function Reference summarizes and describes all publicly available C/C++ functions in the Licensing toolkit.

    Licensing for Java Programming Reference Guide contains guidelines for using the FlexNet Licensing for Java toolkit.

    Licensing for Java API Reference summarizes and describes all publicly available Java classes and methods in the Licensing for Java toolkit.

    License Administration Guide contains information on the setup and administration of a licensing system, including setting up an options file and using Licensing utilities.

    The activation transactions described in this document may be used with FlexNet Operations or a license generator built using the License Generator toolkit. The manual response generator is provided as a test tool and can be used to generate the responses that in a live system are provided by FlexNet Operations or a License Generator. See the FlexNet Operations documentation for more information about that product and the License Generator Toolkit Guide for information about the License Generator.

    Licensing Case Study Case study based on products and business strategies of a fictitious company, which provides insight into realistic FlexNet licensing scenarios.

    Table 1-1 Getting Started with License FileBased Licensing Chapter Overview

    Topic Content10 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Expiring licenses

    Administration tools for end-user license administrators Support for independent features from one or multiple software publishers

    Several publisher-definable fields for each product feature

    Operation in a heterogeneous network of supported computer systems

    Transparent reconnection of the FLEXenabled product when its license server becomes unavailable, including conditions of license server machine failure

    Simple configuration by using a single license file per network2Introduction to License FileBased Licensing

    FlexNet Publisher is a product-licensing package that enables software publishers to license a product on a per-computer (or node-locked) basis, as well as on a concurrent-usage (or floating) basis. Using FlexNet Publisher, you can implement a wide variety of functionality within your licensing policy.

    FlexNet Publisher features include:

    A broad range of licensing policy options, including:

    Node-locked licenses

    Demo licenses

    Personal-use licenses

    Floating licenses

    Counted and uncounted licensesGetting Started with License FileBased Licensing FNP-1191-GSLF00 11

    Configuration controls for system administrators

  • Chapter 2: Introduction to License FileBased LicensingThe FLEXnet Licensing EcosystemThe FlexNet Licensing EcosystemThe FlexNet Licensing ecosystem consists of:

    You, the software publisherYou develop the license policy and FlexEnable your product using FlexNet Publisher.

    The end userYour customer to whom you deploy your FlexEnabled product and all related components.

    FlexNet PublisherFlexNet Publisher is a toolkit that resides on a development machine at your site. You use it to integrate FlexNet licensing, using a client-side library, into your product; to generate license certificates; and to make customizations to the license server (if you use a served license model).

    FlexNet Publisher componentsThis includes your FLEXenabled product, as well as the license certificate and other license model components, that you deploy at your end users site. The FlexNet Publisher components that are required depend on the license model that you choose to implement. See the following sections, License Model Overview and FlexNet Publisher Components, for more information.

    License Model OverviewA major distinguishing characteristic of a license model is whether it requires a license server (served license model) or does not require a license server (unserved license model). The need for a license server may result from a FlexNet Publisher requirement, your requirement, your end users requirement, or a combination of the three. The section Determining the Need for a License Server explores license server requirements in more depth.

    The license model you chooseserved or unserveddictates which FlexNet Publisher components are required. The components are described in the section FlexNet Publisher Components.

    Unserved License ModelAn unserved license model does not require a license server. Examples of this type of licence model include: expiring evaluation licenses; site licenses available to an unlimited number of users; and single-use, node-locked licenses.

    The unserved license model (shown in Figure 2-1) requires two components:

    FLEXenabled Application

    License Certificate

    For an unserved license, the FLEXenabled application and license certificate reside on the same machine.# FNP-1190-GSLF01 Getting Started with License FileBased Licensing

  • Chapter 2: Running H/F 2Running H/F 1Figure 2-1: FlexNet Licensing unserved license model components

    Implementing your licensing policy for unserved licenses requires you to:

    Instrument your product with calls to the FlexNet Publisher client library.

    Create a license certificate using keywords and values appropriate to your license model.

    Served License ModelA served license model requires a license server. Served licenses allow a specified number of concurrent users access to your application at any one time. The licenses are not node-locked to a specific machine; instead, the licenses float on the network, which allows for network-wide usage. The license server keeps track of the number of concurrent users.

    For served licenses, the following FlexNet Licensing components are required:

    FLEXenabled Application

    FlexNet License Server Manager lmadmin or lmgrd

    Vendor Daemon, which, along with the license server manager, composes the license server

    License Certificate

    The following are optional components:

    Debug Log File

    Administrative Options File

    Report Log File

    Figure 2-2 shows the relationship that these components have to one another. Each component is described in the section, FlexNet Publisher Components.Getting Started with License FileBased Licensing FNP-1191-GSLF00 13

  • Chapter 2: Introduction to License FileBased LicensingThe FLEXnet Licensing EcosystemFigure 2-2: FlexNet Licensing served license model components

    Implementing your licensing policy for served licenses requires you to:

    Instrument your product with calls to the FlexNet Publisher client library.

    Configure a vendor daemon using your publisher-specific information.

    Create a license certificate using keywords and values appropriate to your license model.

    The license server components can reside on the same machine as the FLEXenabled product; however, typically they reside on a machine on the network and communicate with the product using a TCP/IP port.

    At the end-user site, the license administrator optionally enables the debug and report logs, and configures the FlexNet Publisher end-user administrative options file.

    FlexNet Publisher ComponentsThe components described in this section are used in FlexNet Publisher licensing. The required components depend upon the license model that you choose to implement.

    FLEXenabled ApplicationThe FLEXenabled application is your product that has been instrumented with calls to the FlexNet Publisher client library. The client library provides routines that establish the product-side licensing policy, read the license file, andin the case of served licensesprovide communication with the license server. This ultimately results in granting or denying usage.# FNP-1190-GSLF01 Getting Started with License FileBased Licensing

  • Chapter 2: Running H/F 2Running H/F 1License CertificateThe software publisher creates the license certificate, which can be installed as a license file by the license administrator or installed automatically as part of the product installation process. The license certificate contains at least one line of data (a feature definition line) for each discrete unit of capability in the software application for which you want to enable licensing. Each feature definition line begins with the keyword INCREMENT or FEATURE, and contains a license key or signature based on the data contained in that line.

    For a served license model, information about the license server machines, their hostids, and vendor daemons are specified using SERVER and VENDOR lines. A FLEXenabled product implementing an unserved license model need only read a valid license file to runit does not need a license server.

    FlexNet License Server ManagerThe FlexNet license server manager, lmadmin or lmgrd, handles the initial contact with the FLEXenabled product, passing the connection on to the appropriate vendor daemon. It also starts and restarts the vendor daemon.

    Vendor DaemonWith FlexNet Publisher licensing, served licenses are granted by processes running on the license server machine. There is one process specific to each software publisher who has a FLEXenabled product on the network. This process is called the vendor daemon. The vendor daemon keeps track of how many of its licenses are checked out, and which users have them.

    A FLEXenabled product communicates with a vendor daemon, usually through TCP/IP network communications. The FLEXenabled product and the daemon processes (the license server) can run on separate machines on your network, across any size wide-area network. The format of the traffic between the FLEXenabled product and the vendor daemon is machine independent, allowing for heterogeneous networks. The license server and the computer running a product can be either different hardware platforms or even different operating systems (Windows and UNIX, for example).

    Debug Log FileA debug log file contains status and error messages useful for debugging the license server. Some of the debug log output describes events specific to lmadmin or lmgrd and some of the debug log output describes events specific to a vendor daemon.

    Administrative Options FileThe options file enables the license administrator to control various operating parameters of FlexNet Licensing within the limits of the products licensing policy. The license administrator can:

    Administer named-user and named-host licenses:

    Allow features to be used by specific users, hosts, and/or groupsGetting Started with License FileBased Licensing FNP-1191-GSLF00 15

  • Chapter 2: Introduction to License FileBased LicensingThe FLEXnet Licensing Ecosystem Deny feature use to specific users, hosts, and/or groups

    Reserve licenses for specific users, hosts, and/or groups

    Restrict the number of licenses available.

    Control the amount of information logged about license usage.

    Enable a report log file.

    Report Log FileThe report log file contains feature usage information and is generated by the vendor daemon. Report log output is encrypted and can be used by reporting products such as Flexera Softwares FlexNet Manager.

    License Request ProcessThe license request process differs based on whether the license is requested in a served or an unserved environment.

    Unserved License Model Request ProcessUnserved license models depend solely on the FlexNet Publisher client library routines in the application to grant or deny usage based solely upon the content of the license file.

    Served License Model Request ProcessWhen the FLEXenabled application runs in the context of a served license model, the following occurs:

    1. The license module in the FLEXenabled application finds the host name of the license server machine and TCP/IP port number of the license server manager (lmadmin or lmgrd) from the license file, from an environment variable, or from a registry entry. The last two options are set by the end user for their machine.

    2. The FLEXenabled application establishes a connection with the license server manager and tells it which vendor daemon it needs to talk to.

    3. The license server manager determines which machine and TCP/IP port correspond to the master vendor daemon and sends that information back to the FLEXenabled application.

    4. The FLEXenabled application establishes a connection with the specified vendor daemon and sends its request for a license.

    5. The vendor daemon checks in its memory to see if any licenses are available and sends a grant or denial back to the FLEXenabled application.

    6. The FlexNet Publisher client library routines in the application grant or deny use of the feature, as appropriate.# FNP-1190-GSLF01 Getting Started with License FileBased Licensing

  • uncounted.lic uncounted.lic

    Sample vendor daemon demo.exe demoSample FlexEnabled application

    lmflex.exe lmflex

    License signing utility lmcrypt.exe lmcrypt

    FlexNet Publisher utilities lmtools.exe

    lmutil.exe

    lmutil3Overview of the FlexNet Publisher Licensing Toolkit

    This chapter provides an overview of the FlexNet Publisher toolkit directory structure and the components that are required to perform the evaluations described in the following chapters.

    FlexNet Publisher ComponentsThe toolkit contains the following components that are used in FlexNet Publisher evaluations. Some required components differ, based on whether you are evaluating FlexNet Publisher on a system running Windows or UNIX.

    Table 3-1 FlexNet Publisher Components

    Component Windows UNIX

    Sample license files counted.lic

    expired.lic

    counted.lic

    expired.licGetting Started with License FileBased Licensing FNP-1191-GSLF00 17

    DEMO license server Composed of lmadmin or lmgrd and the demo vendor daemon

    Composed of lmgrd and the demo vendor daemon

  • Chapter 3: Overview of the FlexNet Publisher Licensing ToolkitIdentifying the Toolkit DirectoriesIdentifying the Toolkit DirectoriesThe evaluation procedures in the following chapters assume you have installed FlexNet Publisher, as described in the Installation Guide. Table 3-2 lists the directories that are involved in the evaluation exercises, along with their shortcuts. The shortcuts are used throughout the documentation.

    All evaluation operations take place in the directory, unless otherwise noted.

    Examining the Sample License FilesFLEXnet Publisher includes three sample license filescounted.lic, expired.lic, and uncounted.licwhich are used in the evaluation exercises. These files are located in the directory. You can open the files using a text editor.

    Uncounted License FileOpen the file uncounted.lic in a text editor. The license file text is similar to the following:

    FEATURE f2 demo 1.000 permanent uncounted HOSTID=ANY \SIGN="0006 9603 9C50 609D 13F4 353F 4866 A300 739D \05F9 2D83 2B0C 0242 9542 A15F"

    This license is for feature F2 (up to version 1.000) and is licensed to the vendor demo. The inclusion of the permanent keyword indicates that the license will not expire. It is uncounted and, therefore, does not require a license server. It is valid on any machine as HOSTID=ANY, which means that the feature can be used on any system.

    The following figure shows where these items are located in the license file.

    Table 3-2 Toolkit Directories

    Shortcut Name Default Location on Windows Default Location on UNIX

    install_dir No default location on Windows or UNIX: You define the installation path when you install the toolkit.

    platform \ /

    machind \machind /machind

    examples \examples /examples18 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 3: Overview of the FlexNet Publisher Licensing ToolkitExamining the Sample License FilesFigure 3-1: Uncounted FEATURE line

    Served License FileOpen the file counted.lic in a text editor. The license file text is similar to the following:

    SERVER this_host ANYVENDOR demo USE_SERVERFEATURE f1 demo 1.0 permanent 4 SIGN="AADD B062 54D1 47E3 \

    1FF6 145F 59CE 0200 8002 FE69 0FBC 0000 AA10 FFB3 6EB3"

    This sample license file is valid on any machine because on the SERVER line, the server hostid is ANY. It contains one FEATURE line for f1 (version 1.0) that has a license count of 4 and is served by the vendor daemon demo.

    The following figure shows where these items are located on the FEATURE line.

    Figure 3-2: Counted FEATURE lineGetting Started with License FileBased Licensing FNP-1191-GSLF00 19

  • Chapter 3: Overview of the FlexNet Publisher Licensing ToolkitExamining the Sample License FilesExpiring License FileOpen the file expired.lic in a text editor. The license file text is similar to the following:

    FEATURE f4 demo 1.000 01-jan-2001 uncounted HOSTID=ANY \SIGN="0051 AC3E 1A55 609D 13F4 353D 4864 A301 719B \68F9 2D85 2B0C 0242 B5FE B55B"

    This license is for feature F4 (up to version 1.000) and is licensed to the software publisher named demo. It is an expiring license that was set to expire on 01-jan-2001. It is uncounted and, therefore, does not require a license server. It is valid on any machine as HOSTID=ANY.

    The expiration date of this license is incorporated into the license signature for feature f4. Any attempt to modify the expiration date to extend the life of the license will invalidate the license because the features signature cannot be authenticated. An attempt to check out the feature will result in a denial.20 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • at your end users site may take. Typical scenarios are demonstrated in the following sections:

    Unserved License Model Demonstration Using an Uncounted License

    Served License Model Demonstration

    Configuring the Demo License Server as a Windows Service

    Starting the Demo License Server (using LMTOOLS)

    Checking the Status of the Demo License Server4Evaluating FlexNet Publisher on Windows

    This chapter walks you though the process of evaluating FlexNet Publisher licensing behavior using license files on Windowsboth from the end users and the software publishers perspective.

    The demo vendor keys provided to you by Flexera Software are used later in this chapter. If your demo vendor keys expire before you complete the evaluation, contact your Flexera Software salesperson.

    Important Microsoft Visual Studio 2005 SP1 (Visual C++ 8) is required for part of this evaluation.

    All operations take place in the directory unless otherwise noted.

    Evaluating the End-User ExperienceThe evaluation exercises in this section take you through different actions that an end user or license administrator Getting Started with License FileBased Licensing FNP-1191-GSLF00 21

    Using a Floating License

    Attempting to Check out an Unlicensed Feature

    Stopping the Demo License Server (using LMTOOLS)

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the End-User ExperienceAll components required to perform the steps in this evaluation are included with FlexNet Publisher. See Identifying the Toolkit Directories for the component locations.

    Unserved License Model DemonstrationThis demonstration of the unserved license model uses the following components, both of which are located in the install_dir\platform directory:

    lmflex.exeLicensing toolkit test program

    uncounted.licuncounted license file

    Using an Uncounted License

    Follow these steps to start the lmflex test program, and use it to check out a license for the feature f2 using the license file uncounted.lic.

    Task: To check out a license for feature f2:

    1. Open a command prompt and change to the install_dir\platform directory.

    2. At the prompt, type lmflex and press Enter. The following output is displayed:

    Enter "f1" to demo floating functionalityEnter "f2" to demo node-locked functionalityEnter feature to checkout [default: "f1"]:

    3. Type f2 and press Enter to check out a license for feature f2.

    4. If you have not used the licensing toolkit on this machine before, the FlexNet License Finder dialog is displayed. Browse to the file uncounted.lic by doing the following:

    a. Click Specify the License File, then click Next.

    b. Type uncounted.lic or browse to the file uncounted.lic and click Next.

    c. Click Finish.

    5. The following message is displayed, confirming that a license for feature f2 has been checked out:

    f2 checked out...press return to exit...

    6. Press Enter to check the f2 license back in and exit lmflex.

    Step 4 is required because lmflex does not specify the location of the license file, but instead relies on a license server searching for license files in its local directory. When a license file has been used to successfully check out a license, the path to the license file is stored in the registry. This stored path is used for subsequent license searches.22 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the End-User ExperienceServed License Model DemonstrationThis demonstration of the served license model uses the following components:

    Sample test programinstall_dir\platform\lmflex.exe

    Sample counted license fileinstall_dir\platform\counted.lic

    DEMO license serverdemo.exe and lmgrd

    Tool for managing license serversLMTOOLS

    Flexera Software provides tools for managing license servers that you can distribute to your customers. On Windows, Flexera Software provides lmutil.exe, a set of command-line utilities, and LMTOOLS, a similar set of utilities with a graphical user interface, which is used in this demonstration.

    Configuring the Demo License Server as a Windows Service

    The machine on which the license server is installed is normally set up so that the license server is run as a service and automatically started when the machine is started. This section describes how to configure the demo license server as a service using the toolkit utility LMTOOLS.

    To configure a license server to run as a Windows service, you must have administrator privileges on the machine.

    Task: To configure the demo license server as a Windows service:

    1. From the directory, double-click lmtools.exe to launch LMTOOLS.

    2. From the Server/License File tab, click the Configuration using Services option, and then click the Config Services tab.

    3. In the Service Name field, type the name of the service. It is recommended that you choose a service name that includes the toolkit version, for example 11.7 DEMO License Manager.

    4. In the Path to the lmgrd.exe file field, type the path or browse to the file lmgrd.exe .

    5. In the Path to the license file field, type the path or browse to the license file that is used to start this license server. For this exercise, choose a license file that was generated for use with the Demo vendor daemon, for example counted.lic from the directory.

    6. In the Path to the debug log file field, type the path or browse to the debug log file that this license server writes. Prepending the debug log file name with the + character appends logging entries. The default location for the debug log file is the c:\winnt\System32 folder. To specify a different location, specify a fully qualified path.

    Tip It is customary, but not required, to use a file extension of .dl for the debug log file. FlexNet Publisher

    does not register file extensions.

    7. Select the Use Services check box.Getting Started with License FileBased Licensing FNP-1191-GSLF00 23

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the End-User Experience8. Click Save Service.

    Figure 4-1: Completed example LMTOOLS Config Services tab

    For this evaluation, the demo license server is started manually. Normally a license server is set to start automatically when the machine is switched on. To configure this, at Step 7, select both the Use Services and Start Server at Power Up check boxes.

    Starting the Demo License Server (using LMTOOLS)

    Task: To start the demo license server using LMTOOLS:

    1. From the directory double-click the file lmtools.exe to launch LMTOOLS.

    2. Click the Start/Stop/Reread tab.

    3. Select the demo license server service name (see Step 3 in Configuring the Demo License Server as a Windows Service).

    4. Click Start Server.

    Checking the Status of the Demo License Server

    Use LMTOOLS to check the status of the demo license server and determine:

    Whether the license server is running.

    The number of licenses issued.24 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the End-User Experience The number of licenses in use.

    The users of each FlexEnabled feature.

    Task: To check the license server status:

    1. In LMTOOLS, click the Server Status tab.

    2. Click Perform Status Enquiry.

    3. Scroll down the display to see output similar to what is shown in the following figure:

    Note that no users have any of the licenses for feature f1 checked out.

    Using a Floating License

    Use the following exercise to start the test application, lmflex.exe, and use it to check out a license for the feature f1 from the counted.lic license file. To complete this section, you must have completed the previous sections and the demo license server must be running. See the section, Starting the Demo License Server (using LMTOOLS), for information about starting the license server.

    Task: To demonstrate the use of a floating license:

    1. Open a command window and change to the folder.

    2. Type lmflex, then press Enter. The feature checkout options are displayed.Getting Started with License FileBased Licensing FNP-1191-GSLF00 25

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the End-User Experience3. Press Enter to check out a license for feature f1 (the default checkout feature). The following confirmation message is displayed:

    f1 checked out...press return to exit...

    4. To check the status of the license server with a license checked out, in the Server Status pane of LMTOOLS, click Perform Status Enquiry. Scroll down to see output with user, host, and display information about the f1 license that you just checked out:

    demo: UP v11.6Feature usage info:Users of f1: (Total of 4 licenses issued; Total of 1 license in use)

    "f1" v1.0, vendor: demofloating license daniel myhost myhost (v1.0) (myhost/27000 101), start...

    5. To view the end of the debug log file, platform\demo.dl, click the Config Services tab and then click the View Log button. The debug log content is displayed in another window. The end of the debug log looks similar to the following:

    19:03:54 (demo) OUT:"f1" daniel@myhost

    6. In the Config Services tab, click the Close Log button to close the debug log window.

    7. In the command window, press Enter to check the f1 license back in and exit lmflex.

    8. Use LMTOOLS to check the server status again to verify that now no licenses are checked out.

    Attempting to Check out an Unlicensed Feature

    An end user cannot use a feature for which they do not have a license. In this exercise, you will attempt to check out a feature named f3, which is not included in the counted.lic license file.

    Task: To attempt to check out an unlicensed feature using lmflex:

    1. From the command line, run lmflex.

    2. Type f3 as the feature to check out, then press Enter.

    3. An error dialog appears, telling you that the feature does not exist. Click OK to dismiss the dialog.

    Stopping the Demo License Server (using LMTOOLS)

    Task: To stop the demo license server using lmtools:

    1. In the Start/Stop/Reread tab of LMTOOLS, click Stop Server.

    2. Check the license server status now that you have stopped the demo license server. You see output similar to the following:

    lmgrd is not running: Cannot connect to license server26 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher ExperienceThe server (lmgrd) has not been started yet, or the wrong port@host or license file is being used, or the port or hostname in the license file has been changed.

    3. Look at the license server debug log file at platform\lmgrd.dl to review the activity of the demo license server.

    Evaluating the Software Publisher ExperienceThis section of the evaluation demonstrates some of the activities you perform in the course of implementing your license policy. The versatility of FlexNet Publishers policy in the license is demonstrated in the following sections:

    Licensing Individual Features

    Testing Node-Locked, Uncounted Licenses

    Testing an Expiring License

    Building the FlexNet Publisher Toolkit

    Licensing Individual FeaturesTo license a feature for usage, the feature must be identified in the license file in a FEATURE or INCREMENT line. Because you can specify license rights on a feature-by-feature basis, you can distribute the same binary to multiple customers, but define the license rights using different license files.

    The exercises in this section describe how to edit feature licensing in an existing license file and how to re-sign the license file so the feature definition lines are valid.

    Editing the License File

    To license a feature named f3, you must edit the sample license file. In the following exercise, you will edit the license by adding a feature definition line.

    Task: To edit the sample license file:

    1. Open install_dir\platform\counted.lic in a text editor.

    2. Duplicate the f1 FEATURE line at the bottom of the file.

    3. On the second f1 FEATURE line, replace f1 with f3.

    4. Save and close counted.lic.

    5. Click the Start/Stop/Reread tab in LMTOOLS. Select DEMO License Manager and click the Start Server button. This starts the license server and forces the server to read the edited license file. Wait a few seconds for the server to start.

    6. Start lmflex and attempt to check out f3.

    7. An error dialog is displayed, indicating that you cannot check out the license. Click OK to dismiss the dialog.Getting Started with License FileBased Licensing FNP-1191-GSLF00 27

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher ExperienceYou added an f3 FEATURE line in the license file by copying it from f1 and changing the feature name. However, the signature associated with the feature definition line for f3 is still authenticated for feature f1. In the following section, you re-sign the license certificate so it is authenticated for f3.

    Re-signing the License File

    The previous exercise demonstrated that it is not possible to simply edit the license file, as an end user may try to do, to create a FEATURE line for f3. In this exercise, you will generate a license file with valid FEATURE lines for both f1 and f3 by using lmcrypt to re-sign the license file.

    Task: To re-sign the license file:

    1. Open a command window and change to the folder.

    2. At the command line, type lmcrypt counted.lic. The license file should be similar to the following:

    SERVER this_host ANY 27000VENDOR demo USE_SERVERFEATURE f1 demo 1.0 permanent 4 SIGN="AADD B062 54D1 47E3 \

    1FF6 145F 59CE 0200 8002 FE69 0FBC 0000 AA10 FFB3 6EB3" FEATURE f3 demo 1.0 permanent 4 SIGN="CDFE 0000 1111 2222 \

    2323 3434 25AD 0200 8002 DEFE 8FDD 0000 ADDE FFB3 3545"

    3. Click the Start/Stop/Reread tab in LMTOOLS, then click ReRead License File to tell the license server to reread its edited license file.

    4. Run lmflex again and try to check out f3. Now that you have a valid license for f3, you are able to check out a license for it.

    5. In LMTOOLS, from the Start/Stop/Reread tab, click Stop Server.

    6. In the command window, exit lmflex.

    Testing Node-Locked, Uncounted LicensesThis section demonstrates the process of locking a license to a specific machine simply by regenerating the FEATURE line within the license file, which incorporates the HOSTID into the license signature. It is not necessary to modify either the toolkit or the FlexEnabled application to incorporate this license policy.

    The following exercise describes how to node-lock the license for feature f2 to your specific machine.

    Creating Node-Locked, Uncounted Licenses

    To node-lock a license to a specific machine, you need to identify the host machine on which the licensed functionality will be used.28 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher ExperienceTask: To retrieve the hostid for your machine, do one of the following:

    Launch LMTOOLS and click the System Settings tab. The various types of hostids supported on the Windows platform are displayed in the Hostid Settings box. For this demonstration, use the value for Ethernet Address. If multiple ethernet addresses exist, choose one.

    Alternatively, use the FlexNet Publisher command-line utility, lmutil. Open a command window and change to the folder. In this window, type lmutil lmhostid. It displays the default hostid for your machine. For Windows platforms, this is the ethernet address:

    The FlexNet host ID of this machine is "000103e686e6"

    Task: To create the node-locked, uncounted license:

    1. You write over uncounted.lic during this sequence, so copy it to a file named uncounted_lic.orig.

    2. From the directory, open uncounted.lic in a text editor.

    3. Locate the FEATURE line for feature f2 and replace the current hostid (ANY) with the value of your machines hostid. The feature definition line now looks something like:

    FEATURE f2 demo 1.000 permanent uncountedHOSTID=000103e686e6 SIGN="A1C6...52A3"

    4. Open a command window and change the directory to the location of the file uncounted.lic.

    5. Re-sign the license file to incorporate the new hostid into the license signature by typing lmcrypt uncounted.lic.

    Testing Licenses

    Run lmflex and try to check out feature f2. A license for feature f2 is successfully granted because the application is executing on the machine to which the license is locked. Check in the feature f2.

    Because the license file for f2 is in the same directory as lmflex and has an extension of .lic, its license is found and used. The license for f2 is uncounted: It does not require a license server to allow it to run.

    Security Considerations

    As previously explained, the hostid value is incorporated in the license signature and is used in license authentication. Any changes to the license signature, the license HOSTID=value, or the actual machine hostid invalidates the license. As a result, the FlexEnabled application will fail to authenticate the license and any license requests fail. The following exercise demonstrates this concept.Getting Started with License FileBased Licensing FNP-1191-GSLF00 29

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher ExperienceTask: To demonstrate security considerations:

    1. From the directory, open uncounted.lic in a text editor.

    2. Locate the FEATURE line for feature f2 and modify the value of the HOSTID to a bogus value, simulating an unauthorized attempt to rehost the license. The feature definition line now looks something like:

    FEATURE f2 demo 1.000 permanent uncounted HOSTID=000103e6 SIGN="A1C6...52A3"

    Do not re-sign the license.

    3. Run lmflex and try to check out feature f2. A FLEXnet Licensing error dialog box appears to indicate that the license request is denied because the application detects the inconsistency between the HOSTID=value in the feature definition line and that of the actual machine used to create the signature.

    4. Click OK to dismiss the dialog box.

    This last sequence demonstrates FLEXnet Licensings policy in the license technology. You, the software publisher, define the policyin this case, locked to a specific machineand create the license. You are in control of the license usage until you change it.

    Testing an Expiring LicenseThis section demonstrates an expiring license policy. To implement it, simply set an expiration date in the FEATURE line; there is no need to modify either the licensing toolkit or the licensed application. When the license is signed, the expiration date is incorporated into the license signature. In the following steps, you modify the expiration date of the node-locked feature f4 located in the expired.lic license file.

    The expiration date is included in the license signature and is used in license authentication. Simply moving the expiration date forward will not create a legitimate license. The FlexEnabled application will fail to authenticate the license and any license requests for the feature will fail.

    Task: To demonstrate an expiring license policy:

    1. Run lmflex and try to get a license for feature f4. The license request is denied because the license has expired.

    2. You write over expired.lic during this exercise, so copy it to a file called expired_lic.orig.

    3. Open expired.lic in a text editor.

    4. Locate the FEATURE line for feature f4 and modify the expiration date to a date in the future. The feature definition line now looks similar to the example shown below:

    FEATURE f4 demo 1.000 31-dec-2010 uncountedHOSTID=ANY SIGN="A1C6...52A3"

    5. Save and close expired.lic. Do not re-sign the license.30 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher Experience6. Run lmflex and try to check out feature f4. Because the expiration date is different than the date encoded in the license signature, a FLEXnet Licensing error dialog box appears, to indicate that the license request is denied because the signature cannot be authenticated.

    7. Click OK to dismiss the error dialog box.

    8. Re-sign the license file to incorporate the new expiration date into the license signature by typing lmcrypt expired.lic.

    9. Run lmflex and try to check out feature f4. A license for feature f4 is successfully granted because the license has not expired.

    Because the license file for f4 is in the same directory as lmflex and has an extension of .lic, its license is found and used. The license for f4 is uncounted: It does not need a license server to allow it to run.

    10. Exit lmflex. This checks in the license for feature f4.

    Building the FlexNet Publisher ToolkitIn this section, you will rebuild the FlexNet Publisher toolkit to change the strength of tamper-resistant licenses (TRL) authentication from 113 bits to 163 bits. TRL uses public-key technology from Certicom to make the signatures on FEATURE and INCREMENT lines more difficult to counterfeit. As shipped, the toolkit has TRL enabled at the 113-bit strength, denoting a public-key length of 113 bits.

    First, look at the FEATURE lines in counted.lic; for instance, the line for feature f1. They resemble:

    FEATURE f1 demo 1.0 permanent 4 SIGN="003D B054 54D1 47E3 1FF6 \145F 59CE 0200 8002 FE69 0FBC F4FF AA10 EEB3 6EB3"

    Observe the length of the signature value for the SIGN= keyword.

    Setting Up the Microsoft Visual Studio Development Environment

    Note To build the FlexNet Publisher, you must use Microsoft Visual Studio 2005 SP1 (Visual C++ 8).

    The Licensing toolkit is built using the Microsoft Visual Studio 2005 Command Prompt rather than the integrated development environment (IDE). Make sure that you have the Microsoft Visual Studio 2005 Command Prompt development environment correctly configured. Consult the Microsoft documentation for details about building from the command line.

    Configuring the FlexNet Publisher Toolkit

    For previous exercises, you used the prebuilt FlexNet Publisher components for this evaluation. As shipped, the FlexNet Publisher toolkit is in an unconfigured state. You must configure it in order to rebuild it. You will use your demo vendor keys provided to you by Flexera Software for the following configuration procedure.Getting Started with License FileBased Licensing FNP-1191-GSLF00 31

  • Chapter 4: Evaluating FlexNet Publisher on WindowsEvaluating the Software Publisher ExperienceTask: To configure the FlexNet Publisher Toolkit:

    1. Open the machind folder, in the directory.

    2. Locate the file lm_code.h and open it in a text editor. Find the lines similar to the following lines:

    #define VENDOR_KEY1 0x0#define VENDOR_KEY2 0x0#define VENDOR_KEY3 0x0#define VENDOR_KEY4 0x0#define VENDOR_KEY5 0x0

    3. Replace all five instances of 0x0 with the demo vendor keys that you received from Flexera Software. If your demo vendor keys have expired, contact Flexera Software.

    4. Keep lm_code.h open.

    Changing TRL Strength

    Task: To change the TRL strength:

    1. In lm_code.h, find the definition of LM_STRENGTH that looks similar to:

    #define LM_STRENGTH LM_STRENGTH_113BIT

    2. Redefine LM_STRENGTH to specify 163-bit strength, as shown in the following:

    #define LM_STRENGTH LM_STRENGTH_163BIT

    3. Leave TRL_KEYs set to 0x0. They are not set when using demo vendor keys.

    4. Save and close lm_code.h.

    Building the FlexNet Publisher Toolkit

    For your changes to take effect, you need to build the FlexNet Publisher toolkit. Make sure lmflex is closed and the license server is stopped before you attempt to rebuild the FlexNet Publisher toolkit.

    Task: To build your Licensing toolkit:

    1. In a command window, change to the folder.

    2. Type build and press Enter. The build.bat file calls nmake, which builds the makefile.

    The demo toolkit now supports TRL at the 163-bit strength level. Because this modification changes the authentication method, all componentsincluding the sample application, lmflexhave been rebuilt.32 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 4: Evaluating FlexNet Publisher on WindowsConclusionRe-signing the Sample License File

    Regenerate the license file to create license signatures that support TRL authentication at the 163-bit level.

    1. Copy counted_orig.lic into counted.lic.

    2. In the platform directory, type lmcrypt counted.lic.

    3. Open counted.lic in a text editor. Look at the FEATURE line for feature f1 to see the difference in the length of the signature line. You should see lines similar to the following:

    FEATURE f1 demo 1.0 permanent 4 SIGN="01C6 1045 146D AE6C 92CB 0360 \1124 AC73 B79B 1785 C000 9608 773C EAAF 3815 55DF 0FAF 786A \AA19 E123 52A3"

    4. Close counted.lic.

    ConclusionYou have completed the evaluation of FlexNet Publisher on Windows. When you are ready to build your Licensing toolkit with your production vendor keys, see the manual Creating a Licensed Product: Setting up and Using the Development and Build Environment.

    To evaluate FlexNet Publisher on UNIX, see Chapter 5, Evaluating FlexNet Publisher on UNIX.

    Remember to set LM_STRENGTH to an appropriate value before you build your production licensing toolkit.Getting Started with License FileBased Licensing FNP-1191-GSLF00 33

  • Chapter 4: Evaluating FlexNet Publisher on WindowsConclusion34 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • The evaluation steps in this section take you through different actions that an end user or license administrator at your end users site may take. Typical scenarios are presented for starting the license server, checking its status, and checking out licenses for features in the demo FlexEnabled application. All components required to perform the steps in this evaluation are included with FlexNet Publisher. See Identifying the Toolkit Directories in Chapter 3, Overview of the FlexNet Publisher Licensing Toolkit, for the component locations.

    Starting the Demo License ServerThe license server used in this chapter is composed of a license server manager process (lmgrd) and one or more 5Evaluating FlexNet Publisher on UNIX

    This chapter walks you though the process of evaluating FLEXnet Licensing behavior on UNIX, both from the end users and the vendors perspective. Before you start this chapter, install FlexNet Publisher as described in the instructions in the Installation Guide.

    The demo vendor keys provided to you by Flexera Software are used later in this chapter. If your demo vendor keys expire before you complete this evaluation, contact your salesperson at Flexera Software.

    Note A C development environment is required for part of this evaluation. Consult the FlexNet Publisher Release

    Notes for your platforms C development environment requirements.

    Evaluating the End-User ExperienceGetting Started with License FileBased Licensing FNP-1191-GSLF00 35

    vendor daemons (in this case, the demo vendor daemon). In this section, you learn how to start the demo license server using lmgrd as an example license server manager. The license server keeps track of the usage count, so it

  • Chapter 5: Evaluating FlexNet Publisher on UNIXEvaluating the End-User Experienceis necessary to start the license server in order to serve the licenses. The steps below use the license for feature f1 in counted.lic. This license has a count of four, meaning that a maximum of four users can concurrently use the feature.

    1. Set the license file path that the demo vendor daemon uses to the platform directory:

    setenv DEMO_LICENSE_FILE platform

    2. To start the demo license server, change to the platform directory and type lmgrd -c counted.lic.

    After lmgrd starts, it starts the demo vendor daemon. The license server (lmgrd and demo) write their debugging output to the window where you started lmgrd because the license server is started without specifying a debug log.

    3. After you start lmgrd, the output of the license server is similar to:

    11:11:49 (lmgrd) FlexNet Licensing (v11.8.0.0) started on myhost (hosttype) (date)11:11:49 (lmgrd) Copyright (c) 1988-2010 Flexera Software Inc. All Rights Reserved.11:11:49 (lmgrd) US Patents 5,390,297 and 5,671,412.11:11:49 (lmgrd) World Wide Web: http://www.flexerasoftware.com11:11:49 (lmgrd) License file(s): counted.lic11:11:49 (lmgrd) lmgrd tcp-port 2700011:11:49 (lmgrd) Starting vendor daemons ...11:11:49 (lmgrd) Started demo (pid 4088)11:11:49 (lmgrd) demo using TCP-port 3290

    4. Open another window and change to the platform directory (for example, sun4_u5). Leave the first window open to monitor the output of lmgrd and the demo vendor daemon.

    Checking the License Server StatusCheck the status of the license server to determine:

    Whether it is running

    Number of licenses issued

    Number of licenses in use

    Users of each FlexEnabled feature

    To check the license server status, in the platform directory, type lmstat -a -c counted.lic. You should see output similar to the following:

    License server system status: 27000@myhostLicense file(s) on myhost: install_dir/sun4_u5/

    counted.lic:myhost: license server system UP (MASTER) v11.4Vendor daemon status (on myhost):

    demo: UP v11.7Feature usage info:Users of f1: (Total of 4 licenses issued; Total of 0 licenses in use)

    Note that none of the four licenses for f1 are in use.36 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 5: Evaluating FlexNet Publisher on UNIXEvaluating the End-User ExperienceRunning the Sample FlexEnabled ApplicationStart the sample FlexEnabled application, lmflex, and use it to check out a license for the feature f1.

    1. Set the link library path to the current directory:

    % setenv LD_LIBRARY_PATH platform

    2. In the platform directory, type lmflex. You see:

    Enter "f1" to demo floating functionalityEnter "f2" to node-locked functionalityEnter feature to checkout [default: "f1"]:

    3. Press Enter to check out a license for feature f1.The following confirmation message is displayed:

    f1 checked out...press return to exit...

    4. Check the end of the license server output to see the checkout of f1.

    11:22:35 (demo) OUT:"f1" daniel@myhost

    5. In a third window, change to the platform directory. To check the status of the license server with a license checked out, in the third window, again type lmstat -a -c counted.lic. You see output with user, host, and display information about the f1 license that you just checked out:

    Users of f1: (Total of 4 licenses issued; Total of 1 license in use)"f1" v1.0, vendor: demofloating licensedaniel myhost 19.16.18.26 (v1.0) (myhost/27000 102), start Wed 5/23 11:22

    6. Close the window where you just ran lmstat.

    7. Press Enter to check the f1 license back in and exit lmflex.

    8. Check the tail of the license server output to see the checkin of f1:

    11:23:40 (demo) IN:"f1" daniel@myhost

    Trying to Check Out an Unlicensed FeatureThis exercise demonstrates what happens when a user attempts to use an unlicensed feature. Instead of checking out feature f1, for which you have a license, you will attempt to check out a feature named f3.

    Task: To attempt to check out an unlicensed feature:

    1. In the platform directory, type lmflex to run the sample application.

    2. Type f3 as the feature to check out. The checkout fails because f3 is not supported by the license server:

    Checkout failed: License server system does not support this featureFeature: f3License path: @localhost::license.dat:counted.lic:expired.lic:uncounted.licFlexNet Licensing error: -18,147Getting Started with License FileBased Licensing FNP-1191-GSLF00 37

  • Chapter 5: Evaluating FlexNet Publisher on UNIXEvaluating the Publisher ExperienceStopping the Demo License ServerWhen you are done experimenting with lmflex and your license file, stop the license server.

    1. In the platform directory, type lmdown -c counted.lic. You see a description of the license server and a request for confirmation:

    Port@Host Vendors1) 27000@myhost demo Are you sure (y/n)?

    2. Confirm that you want to shut down the demo license server by typing y.

    3. Look at the end of the license server output:

    11:35:46 (lmgrd) SHUTDOWN request from daniel at node myhost11:35:46 (lmgrd) lmgrd will now shut down all the vendor daemons11:35:46 (lmgrd) Shutting down demo11:35:46 (demo) daemon shutdown requested - shutting down11:35:46 (lmgrd) Shut down FlexNet demo server on node myhost

    Testing an Uncounted LicenseRemember that you started the demo license server to be able to check out a counted f1 license. Now, observe the difference in the behavior of f1 and f2 now that the demo license server is not running.

    1. Run lmflex again, and press Enter to check out a license for feature f1.

    2. You see that the checkout failed because the license server is not running on THIS_HOST:

    Checkout failed: Network connect to THIS_HOST failedThe license file indicates THIS_HOST, and the server is not running on this host. If it's running on a differenthost, THIS_HOST should be changed to the correct host.Feature: f1License path: counted.lic:expired.lic:uncounted.licFlexNet Licensing error: -95,378.

    3. Rerun lmflex, this time replacing f1 with f2 and press Enter to check out a license for feature f2. Remember that the license for f2 is uncounted and locked and is located in uncounted.lic.

    Because the license file for f2 is in the same directory as lmflex and has an extension of .lic, its license is found and used. Additionally, the license for f2 is uncounted: It does not need a license server to allow it to run.

    4. Press Enter to check the f2 license back in.

    Evaluating the Publisher ExperienceThis section of the evaluation demonstrates some of the activities you perform in the course of implementing your license policy. The versatility of FLEXnet Licensings policy in the license is showcased in the following sections:38 FNP-1191-GSLF00 Getting Started with License FileBased Licensing

  • Chapter 5: Evaluating FlexNet Publisher on UNIXEvaluating the Publisher Experience Licensing Features

    A Node-locked, Uncounted License

    Testing an Expiring License

    Building the FlexNet Publisher Toolkit

    Licensing Features

    Editing the License File

    Edit the sample license file to try to give yourself a license for feature f3.

    1. You write over counted.lic during this exercise, so copy it to a file named counted_lic.orig.

    2. Open counted.lic in a text editor.

    3. Duplicate the f1 FEATURE line on the line below. This FEATURE line spans multiple physical file lines in the file; make sure you capture the entire line.

    4. On the second FEATURE line, replace f1 with f3.

    5. Save and close counted.lic.

    6. If it is not already running, start the demo license server. In the platform directory, type lmgrd -c counted.lic. This starts the license server and forces the edited license file to be read. Wait a few seconds for the server to start.

    7. Open another window and change to the platform directory. Leave the first window open to monitor the output of lmgrd and the demo vendor daemon.

    8. Run lmflex and try to check out f3. Observe that the checkout failed because you changed a FEATURE line in a license file and did not regenerate its license signature.

    Re-signing the License File

    In the last section, you saw that it is not possible to simply edit the license file, as an end user may try to do, to create a FEATURE line for f3. Now, generate a license file with valid FEATURE lines for both f1 and f3 with lmcrypt.

    1. In the platform directory, type lmcrypt counted.lic. The license file should now resemble:

    SERVER this_host ANY 27000VENDOR demo FEATURE f1 demo 1.0 permanent 4 SIGN="AADD B062 54D1 47E3 \

    1FF6 145F 59CE 0200 8002 FE69 0FBC 0000 AA10 FFB3 6EB3" FEATURE f3 demo 1.0 permanent 4 SIGN="CDFE 0000 1111 2222 \

    2323 3434 25AD 0200 8002 DEFE 8FDD 0000 ADDE FFB3 3545"

    2. Force the license server to reread the license file by typing lmreread -c counted.lic.

    3. Run lmflex again and try to check out f3. Now that you have a valid license for f3, you are able to check out a license for it.Getting Started with License FileBased Licensing FNP-1191-GSLF00 39

  • Chapter 5: Evaluating FlexNet Publisher on UNIXEvaluating the Publisher Experience4. When you are finished experimenting, stop the license server. In the platform directory, type lmdown -c counted.lic. You see a description of the license server and a request for confirmation:

    Port@Host Vendors1) 27000@myhost demo Are you sure (y/n)?

    5. Confirm t