Sentinel LM Developers Guide
Copyright 2005, SafeNet, Inc. (Baltimore) All rights reserved. All attempts have been made to make the information in this document complete and accurate. SafeNet, Inc. is not responsible for any direct or indirect damages or loss of business resulting from inaccuracies or omissions. The specifications contained in this document are subject to change without notice. SafeNet, Sentinel, and Sentinel LM are either trademarks or registered trademarks of Safenet, Inc. All other product names referenced herein are trademarks or registered trademarks of their respective manufacturers. CONFIDENTIAL INFORMATION Sentinel LM protection system is designed to protect your applications from unauthorized use. The less information that unauthorized people have regarding your security system, the greater your protection. It is in your best interest to protect the information herein from access by unauthorized individuals. Part Number 001638-001, Revision C Software versions 8.0 and later
Revision
A B C
Action/Change
Initial Release Updated for UNIX releases Updated for Solaris release
Date
December 2004 April 2005 June 2005
SafeNet Sales Offices
Australia +61 3 9882 8322 France +33 1 41 43 29 00 Japan (Tokyo) + 81 45 6405733 Singapore +65 6297 6196 U.S. (Massachusetts) +1 978.539.4800 U.S. (Santa Clara, California) +1 408.855.6000 Brazil +55 11 6121 6455 Germany +49 1803 7246269 Korea +82 31 705 8212 Taiwan 886-2-27353736 U.S. (New Jersey) +1 201.333.3400 U.S. (Torrance, California) +1 310.533.8100 China +86 10 88519191 Hong Kong +852 3157 7111 Mexico +52 55 5575 1441 UK +44 1932 579200 U.S. (Virginia) +1 703.279.4500 Finland +358 20 500 7800 India +91 11 26917538 Netherlands +31 73 658 1900 UK (Camberley) 44 (0 1276 608000 U.S. (Irvine, California) +1 949.450.7300
ii
Sentinel LM Developers Guide
International Quality Standard Certification
The Beijing, China; Irvine, California, U.S.A; and Rotterdam, The Netherlands facilities are certified to the latest, globally-recognized ISO 9001:2000 standard. The certificate number is: CERT-02982-2003-AQ-HOU-RAB Rev 3.
European Community Directive Conformance Statement
This product is in conformity with the protection requirements of EC Council Directive 89/336/EEC. Conformity is declared to the following applicable standards for electro-magnetic compatibility immunity and susceptibility; CISPR22 and IEC801. This product satisfies the CLASS B limits of EN 55022.
Sentinel LM Developers Guide
iii
iv
Sentinel LM Developers Guide
Contents
Contents............................................................................................. v Preface ............................................................................................. xv
About Sentinel LM........................................................................................................ xv Sentinel LM ............................................................................................................... xv API Option................................................................................................................ xvi About the Sentinel LM Manuals................................................................................. xvii Who Should Read This Guide?.................................................................................. xviii Conventions Used in This Document .......................................................................... xix How to Get the Most from This Guide........................................................................... xx Contacting Technical Support..................................................................................... xxi Export Considerations ............................................................................................... xxiii We Welcome Your Comments .................................................................................. xxiv
Chapter 1 Overview........................................................................ 1
Why Use Sentinel LM?....................................................................................................1 What Is Licensing? .........................................................................................................2 Stand-alone Application Protection ...............................................................................2 How Does Stand-Alone Licensing Work?...............................................................4 Installing a License Code for a Stand-alone Application........................................5 Stand-alone Licensing on a Terminal Server Disabled...........................................6 Network Application Protection ....................................................................................6 How Does Network Licensing Work?.....................................................................7 License Installation for Networked Applications .................................................10 Integrated Application Protection ................................................................................10
Sentinel LM Developers Guide
Contents
Dynamic Switching Between Stand-alone and Network Licensing.................... 10 Examples of Dynamic Switching......................................................................... 11 Overview of Sentinel LM.............................................................................................. 12 Sentinel LM-Shell...................................................................................................... 12 Sentinel LM Application Library ................................................................................ 12 The License Server ..................................................................................................... 13 Licenses .................................................................................................................... 13 License File .......................................................................................................... 14 Popular License Models....................................................................................... 15 The License Code Generator................................................................................ 16 Upgrade License Code Generator ........................................................................ 17 Commuter Licenses............................................................................................. 17 Capacity Licenses ................................................................................................ 17 License Queuing.................................................................................................. 18 License Balancing and Redundant License Servers ....................................................... 18 Client Activator......................................................................................................... 19 Computer ID Keys ..................................................................................................... 19 Cascaded Computer ID Keys for Stand-alone Licenses........................................ 20 Cascaded Computer ID Keys for Network Licenses ............................................. 20 Sentinel LM Character Sets Supported........................................................................ 20 What Does Licensing Mean to Your Customer? .......................................................... 21 Steps to Protect and Ship Your Application ................................................................ 23
Chapter 2 Planning Your Application Licensing ........................ 25
Plan Your Use of Features ........................................................................................... 25 Multiple Features Per Application.............................................................................. 26 License Queuing .......................................................................................................... 28 Choose the License Model............................................................................................ 28 Development Licensing Options .................................................................................. 31 Feature-based Licensing ..................................................................................... 31 Version-controlled Licensing .............................................................................. 32 License Code Licensing Options .................................................................................. 32 Stand-alone, Network, and Perpetual Licenses .................................................. 32 Locking Methods................................................................................................. 33 Site Licenses ........................................................................................................ 34 Shared Licenses................................................................................................... 35
vi
Sentinel LM Developers Guide
Contents
Held Licenses........................................................................................................35 Additive and Exclusive Licenses...........................................................................35 Time-Limited Demo Licenses ...............................................................................36 Redundant Licenses .............................................................................................37 Commuter Licenses..............................................................................................37 Capacity Licenses .................................................................................................38 Grace Licenses......................................................................................................38 End User Options .......................................................................................................38 Alerts....................................................................................................................39 Group Allocation Options ....................................................................................39
Chapter 3 Protecting Your Application with Sentinel LM-Shell 41
Before Using Sentinel LM-Shell ....................................................................................42 Using Sentinel LM-Shell ...............................................................................................43 Using the Sentinel LM-Shell Command-Line Interface ................................................44
Chapter 4 Protecting Your Application with the Application Library ............................................................................................ 49
Choosing a Language Interface....................................................................................49
Chapter 5 License Activation....................................................... 51
License Activation Methods .........................................................................................51 Client Activator ............................................................................................................53 Client Activator Process .............................................................................................53 Client Activator Operation ..........................................................................................54 Client Activator Wizard Process ..........................................................................55 For More Information ................................................................................................55
Chapter 6 Packaging and Shipping Your Application ............... 57
Modifying Your Application Installation .....................................................................58 Shipping a Stand-Alone Application.............................................................................58 Shipping a Network Application ..................................................................................59 TCP/IP and NetWare IPX/SPX Protocol Support ................................................61 Sentinel LM Tools and Utilities ...................................................................................62
Sentinel LM Developers Guide
vii
Contents
Customer Installation of the Sentinel System Driver................................................... 62 Customer Installation of the Sentinel LM License Server ............................................ 63 Planning Customer Computer Fingerprinting ............................................................ 63 Choosing Fingerprint Criteria .................................................................................... 64 How to Select Fingerprint Criteria.............................................................................. 64 Selecting a Primary and Secondary Fingerprint .......................................................... 66 How Does Your Application Runs on the Customer Site? ............................................. 68
Chapter 7 Creating and Upgrading License Codes .................... 69
Launching WlscGen .................................................................................................... 70 Before You Start .......................................................................................................... 72 License Code Generator Startup.................................................................................. 72 The License Meter Key............................................................................................... 72 How Does The License Meter Key Decrement?.................................................... 73 Subscription License File..................................................................................... 75 Cascading License Meter Keys ............................................................................ 77 Upgrading Sentinel License Meter Keys ...................................................................... 78 About License Codes .................................................................................................. 79 Predefined License Types for Short, Numeric License Codes ....................................... 81 Creating License Types ................................................................................................ 83 Introduction to License Types............................................................................. 83 Creating a New Template.................................................................................... 85 Details on License Code Generator Choices (for WlscGen and lscgen) ........................ 86 The License Code Generator Command-line Version lscgen .................................... 97 Setting Options for the License Code Generator ........................................................... 97 Using lscgen.............................................................................................................. 98 Global Defaults File ................................................................................................. 105 Interactive Input ..................................................................................................... 107 Displaying the Base License Code .............................................................................. 111 Upgrade License Code Generator Using WlscGen ..................................................... 112 Create upgrade license template using WlscGen ........................................................ 113 The Upgrade License Code Generator Command Line Version - Ulscgen.................. 114 Things to Remember with Upgrade Licenses: ............................................................ 116 Displaying the Upgrade License Code ........................................................................ 117 Product Distributor License Code Generator ............................................................. 118 Protecting the License Code Generator ...................................................................... 118
viii
Sentinel LM Developers Guide
Contents
To Create Multiple Customized License Meter Keys................................................... 119 Shipping the Protected License Code Generator ......................................................... 120
Chapter 8 Using Redundant License Servers ............................ 121
The Redundant License Server Concepts .................................................................. 121 The Redundant License Server Pool .......................................................................... 122 The Redundant License File (lservrlf) ....................................................................... 122 The License Server States ......................................................................................... 122 The Majority Rule ................................................................................................... 123 The Redundant License Server Leader ....................................................................... 124 What if the Leader Goes Down? ........................................................................ 124 The Redundant License Free Pool..................................................................... 125 Load Balancing of Licenses........................................................................................ 126 Enabling/Disabling Automatic Load Balancing ......................................................... 127 Generating License Codes - The Developers Role ..................................................... 128 Before You Generate a License ................................................................................. 128 Redundant License Characteristics ........................................................................... 129 Getting Locking Codes from Your Customer.............................................................. 129 Setting up Redundant License Servers - Your Customers Role ................................ 130 Maintaining the Redundant License Server Pool........................................................ 134 Adding a Redundant License to an Existing Server Pool ............................................. 135 Tips and Recommendations ...................................................................................... 135 Related Topics ........................................................................................................... 136 Commuter Licensing................................................................................................ 136 Reservation Files and License Balancing ................................................................... 137
Chapter 9 Using Commuter Licensing ...................................... 139
How Does Commuter Licensing Work? ..................................................................... 139 Locking the Authorization........................................................................................ 140 Sentinel LM Application Library Commuter Licensing Calls ...................................... 141 Your Protected Application ...................................................................................... 142 Creating a Commuter License Code........................................................................... 142 Instructions for Your Customers ............................................................................... 143 Restricting Commuter Licensing .............................................................................. 143 Before Checking Authorizations In/Out .................................................................... 143
Sentinel LM Developers Guide
ix
Contents
Using the Commuter Licensing Utilities ................................................................... 144 Remote Commuter Licensing .................................................................................... 144 Step 1: Getting a Remote Commuter Locking Code .................................................... 145 Getting a Commuter Locking Code with WRCommute .................................... 146 Getting a Commuter Locking Code with rcommute ......................................... 146 Step 2: Checking Out a Remote Commuter Authorization.......................................... 146 Checking out a Remote Authorization with WCommute................................. 147 Checking out a Remote Authorization with lcommute .................................... 147 Step 3: Installing a Remote Commuter Authorization ............................................... 147 Installing a Remote Commuter Authorization with WRCommute .................. 148 Installing a Remote Commuter Authorization with rcommute ....................... 148
Chapter 10 Perpetual Licensing ................................................ 149
What is a Perpetual License? ..................................................................................... 149 Using Perpetual Licensing ......................................................................................... 151 For a Customer ....................................................................................................... 151 Obtaining a Perpetual License .......................................................................... 151 Returning a Perpetual License.......................................................................... 152 For a Developer ....................................................................................................... 152 Generating a Perpetual License Code ........................................................................ 155 Using WlscGen ....................................................................................................... 155 Using lscgen............................................................................................................ 155 Using Your Customized License Code Generator........................................................ 155
Chapter 11 Grace Licensing ....................................................... 157
Using the Grace Licensing ......................................................................................... 158 For a Customer ....................................................................................................... 158 An Example....................................................................................................... 158 For a Developer ....................................................................................................... 159 Handling the Grace Licensing-related Error Messages ..................................... 159 Setting the Grace Licensing Options in a License Code.............................................. 161 Using WlscGen ....................................................................................................... 161 Using lscgen............................................................................................................ 163 Using Your Customized License Code Generator........................................................ 163
Sentinel LM Developers Guide
Contents
Chapter 12 Using Capacity Licensing ........................................ 165
Capacity Licensing Example...................................................................................... 166 Additional Capacity Licensing Concepts ................................................................... 167 How to Implement Capacity Licensing...................................................................... 184 Your Customers Experience with Capacity Licensing .............................................. 184 License Installation ................................................................................................. 185 Pooled and Non-Pooled Examples............................................................................. 185
Chapter 13 License Revocation ................................................. 187
The License Types That Can be Revoked................................................................... 188 The License Revocation Process................................................................................ 188 Step 1 - Choose the License Revocation Method......................................................... 188 For Windows..................................................................................................... 188 For UNIX ........................................................................................................... 189 Step 2 - Generate the Revocation Password File ........................................................ 189 For Windows..................................................................................................... 189 For UNIX ............................................................................................................... 191 Step 3 - Copy the File to the License Server ............................................................... 192 Step 4 - Revoke Licenses for a Feature ...................................................................... 192 For Windows..................................................................................................... 192 For UNIX ........................................................................................................... 194 Step 5 - Send the LRT to the Developer...................................................................... 194 Step 6 - Decode the LRT ........................................................................................... 195
Chapter 14 Using Upgrade Licensing ........................................ 197
Implementing Upgrade Licensing ............................................................................. 197 Version Upgrade ..................................................................................................... 197 Capacity Upgrade .................................................................................................... 198 Instructions for End Users ......................................................................................... 199 Generating an Upgrade Lock Code ............................................................................ 199
Chapter 15 Utilities .................................................................... 203
Summary of Utilities.................................................................................................. 204 Integrated Cleaning Tool (lsclean and lscgcln) ......................................................... 212
Sentinel LM Developers Guide
xi
Contents
Using lsclean........................................................................................................... 213 Determine a Computer Locking Code (echoid) .......................................................... 214 Display the IPX Network Address (ipxecho).............................................................. 215 Check Commuter License Authorization (lcommute)............................................... 215 Install the License Server as an NT/2000 Service (loadls) ........................................ 216 Generate License Code (lscgen) ................................................................................. 216 Decrypts and Displays License Codes (lsdecode)........................................................ 216 Starting the License Server (lserv, lserv9x, lservnt) .................................................. 217 Install a License Code (lslic)....................................................................................... 217 Specifying Distribution Criteria for Redundant Licenses ............................................ 218 Send e-mail alert using SMTP (lsmail) ...................................................................... 219 Monitor License Server Transactions (lsmon)........................................................... 220 Maintaining the Redundant License Server Pool (lspool) ......................................... 220 Shuts Down the License Server (lsrvdown) ............................................................... 221 Display Usage Log File (lsusage) ................................................................................ 221 Display Sentinel LM Version Number (lsver)............................................................. 221 Display List of License Servers (lswhere) ................................................................... 221 Create and Modify Redundant License Server File (rlftool) ....................................... 222 Display Encrypted/Readable License Server Log File (vusage).................................. 222 Creating an Unencrypted Log File ............................................................................ 225 Wcommute................................................................................................................ 228 Display Fingerprint Criteria (Wechoid) ..................................................................... 228 Administer License Management Activities (WlmAdmin) ....................................... 230 WlscGen .................................................................................................................... 230 Editing the Reservation File on Windows (WlsGrMgr) ............................................. 231 Create and Maintain Redundant License File (Wrlftool) ........................................... 231 Determine a License Upgrade Lock Code (echouid)................................................... 231 Upgrade License Code Generator Command Line Version (ulscgen) ........................ 231 Decrypts and Displays Upgrade License Codes (ulsdcod)........................................... 232
Chapter 16 Product Add-ons...................................................... 233
Computer ID Keys...................................................................................................... 233 Sentinel Express......................................................................................................... 233 Existing Hardware Keys ............................................................................................ 234 Developer Assistance from SafeNet ........................................................................... 234
xii
Sentinel LM Developers Guide
Contents
Appendix A Readable License Codes ........................................ 235
Concise Readable String ............................................................................................ 235 Expanded Readable String......................................................................................... 236 Concise vs. Expanded License Strings ....................................................................... 236 Readable Code Format............................................................................................... 237
Appendix B Sentinel LM-Shell Error Messages ........................ 239
Sentinel LM-Shell Message Display ........................................................................... 240 Sentinel LM - Specific Messages................................................................................. 241
Index .............................................................................................. 245
Sentinel LM Developers Guide
xiii
Contents
xiv
Sentinel LM Developers Guide
Preface
Thank you for choosing the Sentinel LMTM product to license your software. Sentinel LM can provide quick protection for demo programs or more sophisticated protection for full-featured applications. Read on for all you need to know about using Sentinel LM to protect your applications.
Note: This book contains information on using Sentinel LM to create protected applications that run on stand-alone computers or client computers that are part of a network. A network license server manages and maintains all licenses for protected applications running on computers connected to the network.
About Sentinel LM
Sentinel LM offers a variety of options designed to give you exactly the features you need for your business environment.
Sentinel LM
The standard Sentinel LM product satisfies most developers needs by providing an easy way to protect and license applications. You receive:
Sentinel LM-Shell for Windows 95/98/ME and Windows NT 4.0/ Windows 2000/Windows XP/Windows 2003 which protects your 32-bit Windows application by enclosing it in a protective wrapper that will check for a valid license before allowing it to run. Sentinel LM-Shell optionally calls the Client Activator program that
Sentinel LM Developers Guide
xv
Preface
installs a license code at your customers site from the Internet or after your customer enters the license code on the keyboard. (The customer may type the license code after obtaining it from a telephone conversation with your fulfillment center or from printed information included with your application packaging.)
License code generator for Windows 95/98/ME and NT/2000/XP/ 2003, which allows you to create license codes that will be installed on your customers site to allow use of your protected application. Upgrade license code generator for Windows 95/98/ME and NT/ 2000/XP/2003, which allows you to generate upgrade license codes for your protected application. License meter key which attaches to the parallel or USB port of an IBM-compatible PC. This key permits use of the license code generator, and allows you to create license codes for applications that will run on a stand-alone or networked computer. System administration utilities. Online documents in Adobe Acrobat format. (Optional printed manuals are available separately. Contact your SafeNet, Inc., sales representative for information.) Software license servers that your customer installs on a Windows or UNIX network computer to manage licenses for applications running on computers connected to that network. Sentinel System Drivers for Windows 95/98/ME and NT/2000/XP/ 2003.
API Option
Although the standard Sentinel LM product offers the easiest to use combination of license management features, if you need more advanced functionality (such as separate licensing of multiple features within a single executable), you will want to purchase the API Option, an add-on to Sentinel LM that includes:
xvi
Sentinel LM Developers Guide
Preface
Sentinel LM Application Libraries for Windows or UNIX that allow you to embed calls to the license management system in your application. Advanced libraries also allow you to create your own license code generator interface and license servers.
About the Sentinel LM Manuals
The Sentinel LM product includes several manuals/guides, all designed to work in conjunction with each other.
Manual Sentinel LM Developers Guide Whats in it? All the steps necessary to protect, package, and ship a standalone or network application protected with Sentinel LM-Shell or the Sentinel LM Application Library. Description of the Sentinel LM Application Library. Who should read it? Developers using Sentinel LMShell or the API option who are responsible for the overall process of protecting and shipping an application for a stand-alone or network computer. Developers who are using the Sentinel LM Application Library to protect their applications. This manual assumes you are familiar with the C programming language, although other language interfaces are available. End users of your protected application who are responsible for administering the application and end user license management and who are familiar with system administration tasks.
Sentinel LM Programmers Reference Manual
Sentinel LM System Administrators Online Guide
Information for the end user of your protected application, including use of administrator commands and configuring and using a license server.
Sentinel LM Developers Guide
xvii
Preface
Manual Sentinel LM Start Here Guide
Whats in it? Information to get the developer up and running with Sentinel LM as quickly as possible. It contains installation instructions and a quick tour of Sentinel LM-Shell. Information on the features added to the current release. Also contains late-breaking information that was not available when the manuals were completed.
Who should read it? Any Developer using Sentinel LM.
Sentinel LM Release Notes
Any Developer using Sentinel LM.
Who Should Read This Guide?
This Sentinel LM Developers Guide that you are currently reading focuses on helping developers who are using Sentinel LM-Shell or Sentinel LM Application Library to protect their product. It is designed and developed for a higher-level manager or architect who needs to decide what licensing models will be used and how to ship the protected product, and also give the instructions to a programmer who needs to implement the code.
xviii
Sentinel LM Developers Guide
Preface
Conventions Used in This Document
The following conventions are used throughout this guide:
Convention Select Click Meaning Use the arrow keys or mouse to select an item on a menu, a field in a window or an item in a list. Press the primary mouse button once. The primary mouse button is typically the left button, but may be reassigned to the right button. This font denotes syntax, prompts, and code examples. Words in italic type represent file names and directory names. Words in boldface type represent keystrokes, menu items, window names or fields. This warning icon flags any potential pitfalls that we think you may need to be careful of.
Courier
Italic Lettering Bold lettering
Note:
Used for highlighting notes related to a specific section. Denotes tips that should be remembered while trying to achieve a specific result.
Tip:
Sentinel LM Developers Guide
xix
Preface
How to Get the Most from This Guide
This guide gives all the steps for planning the protection of your application, as well as the steps for protecting, packaging, and shipping your protected application to your customers.
Chapter/Appendix Chapter 1 Overview Description Shows how Sentinel LM is put together. Also contains a checklist for the overall process of protecting and shipping an application. Provides an overview of planning to protect an application and choosing license models. Contains information on special licensing options such as commuter licensing and license queuing. Information on using Sentinel LM-Shell to protect your application without changing source code. Information on protecting your application by using the Sentinel LM Application Library to add API calls to your application source code. Information on using the Sentinel LM Client Activator to install licenses at your customer site. Gives the steps for packaging and shipping your application after you have protected it. Outlines the use of the license code generator to generate new license codes. For details on using the Windows license code generator, WlscGen, see its online help. Contains an overview of the steps necessary to implement license balancing and redundant license servers for you and for your customer. Discusses how you and your customers use commuter licensing to allow temporary use of your application on a portable computer away from the network.
Chapter 2 Planning Your Application Licensing
Chapter 3 Protecting Your Application with Sentinel LM-Shell Chapter 4 Protecting Your Application with the Application Library Chapter 5 License Activation Chapter 6 Packaging and Shipping Your Application Chapter 7 Creating and Upgrading License Codes
Chapter 8 Using Redundant License Servers Chapter 9 Using Commuter Licensing
xx
Sentinel LM Developers Guide
Preface
Chapter/Appendix Chapter 10 Perpetual Licensing Chapter 12 Using Capacity Licensing Chapter 13 License Revocation Chapter 14 Using Upgrade Licensing Chapter 15 Utilities Chapter 16 Product Addons Appendix A Readable License Codes Appendix B Sentinel LMShell Error Messages
Description Provides details about using perpetual licensing with Sentinel LM. Provides details about using capacity licensing with Sentinel LM. Provides details about using license revocation with Sentinel LM. Discusses how to upgrade licenses for version and capacity with Sentinel LM. Provides a discussion of the developer utilities available. Gives information on additional products that work with Sentinel LM. Information on different formats of license codes. Provides the Sentinel LM-Shell error codes and their descriptions.
Contacting Technical Support
We are committed to supporting the Sentinel LM. If you have questions, need additional assistance, or encounter a problem, please contact Technical Support:
Technical Support Contact Information
Customer Connection Center (C3) http://c3.safenet-inc.com Americas Internet E-mail United States Telephone (800) 545-6608 http://www.safenet-inc.com/support/index.asp support@safenet-inc.com
Sentinel LM Developers Guide
xxi
Preface
Technical Support Contact Information (Continued)
Europe E-mail France Telephone Fax Germany Telephone Fax 01803 7246269 +44 (0) 1276 608080 0825 341000 +44 (0) 1276 608080 eutechsupport@safenet-inc.com
United Kingdom Telephone Fax Pacific Rim E-mail support@safenet-inc.com +44 (0) 1276 608000 +44 (0) 1276 608080
Australia and New Zealand Telephone Fax China Telephone Fax India Telephone Fax (91) 11 2691 7538 (91) 11 2633 1555 (86) 10 8851 9191 (86) 10 6872 7342 (61) 3 9882 8322 (61) 3 9882 0588
Taiwan and Southeast Asia Telephone Fax (886) 2 27353736 (886) 2 27352383
xxii
Sentinel LM Developers Guide
Preface
Export Considerations
SafeNet, Inc., offers products that are based on encryption technology. The Bureau of Industry and Security (BIS) in the U.S. Department of Commerce administers the export controls on SafeNets commercial encryption products. Rules governing exports of encryption can be found in the Export Administration Regulations (EAR), 15 CFR Parts 730-774, which implements the Export Administration Act (EAA 50 U.S.C. App. 2401 et seq.). Important Note: BIS requires that each entity exporting products be familiar with and comply with their obligations described in the Export Administration Regulations. Please note that the regulations are subject to change. We recommend that you obtain your own legal advice when attempting to export any product that uses encryption. In addition, some countries may restrict certain levels of encryption imported into their country. We recommend consulting legal counsel in the appropriate country or the applicable governmental agencies in the particular country.
Sentinel LM Developers Guide
xxiii
Preface
We Welcome Your Comments
To help us improve future versions of Sentinel LM documentation, we want to know about any corrections, clarifications or further information you would find useful. When you contact us, please include the following information:
The title and version of the guide you are referring to The version of the Sentinel LM software you are using Your name, company name, job title, phone number and e-mail address
Send us e-mail at: techpubs@safenet-inc.com
xxiv
Sentinel LM Developers Guide
Chapter 1 Overview
This chapter contains information on:
What is license management and how does it work? What is the Sentinel LM license management system and what are its major components? What does license management mean to your customer? What are the basic steps for using Sentinel LM to protect and ship your application?
Note: For details on new features and installation, refer to the release notes.
Why Use Sentinel LM?
Sentinel LM guards your software against unauthorized use by providing reliable and easy-to-use software protection technology. This technology (which is transparent to the end-user) also offers other benefits:
Sentinel LM brings you the benefits of electronic commerce by enabling electronic software distribution (ESD) and electronic software licensing (ESL). If you use the Client Activator, your customers can install a license directly from the Internet, reducing your fulfillment costs.
Sentinel LM Developers Guide
Chapter 1 Overview
Sentinel LM vastly increases your marketing reach through full featured evaluations and try-and-buy programs. This is easily done by providing time-limited licensing capability and conversion of evaluations to purchases with a single license code (without requiring new product installation). By providing network-wide licensing, Sentinel LM also helps your users to centralize software license management and reduce cost of software management and deployment. Your software products become enterprise ready with end-user license configuration options and the advanced integration of Sentinel LM license management with enterprise management tools.
What Is Licensing?
Although well go into much more detail later in this book, this section gives some simple examples of license management and discusses how Sentinel LM implements licensing.
Note: Throughout this book we talk about getting licenses and releasing licenses. Although it is convenient to talk about license management in this way, strictly speaking, licenses are never physically moved between the network license server and client computer. Instead, the license server simply keeps track of how many users can run the application and decrements and increments the license count as authorized users are granted permission to run the application and as they exit the application.
Stand-alone Application Protection
Lets say you want to sell an application to a single customer on a specific computer (called a stand-alone computer). License management prevents that customer from distributing unauthorized copies of your application by locking that application to a specific computer. When Sentinel LM protects your stand-alone application, it embeds the license management function that checks for a valid license code before the application is run. Very simply, if a valid license code exists, the application
Sentinel LM Developers Guide
What Is Licensing?
will run; if Sentinel LM cannot find a valid license code, the application will not run. You may also restrict the application to run only on a specific computer by locking the application to that computer.
Note: A license provides an authorization to use a protected application and is embodied by a license code. A license code is a string of encrypted characters that Sentinel LM consults to determine whether or not to grant a license. The license code contains all of the information that defines the license agreement between you and your customer: whether the license will expire after a specific number of days, whether the application can only run on a specific computer, and so on.
Heres an example of stand-alone licensing. You sell a word processing application that contains three different programs:
Word processing Spell checking Thesaurus
Customer Abbot purchases a license from you that activates only word processing. Every time this customer starts the word processor, Sentinel LM verifies that a valid license code for that program exists and grants authorization to use the program. If customer Abbot attempts to use spell checking, Sentinel LM denies the request to use the program and tells your customer that a valid license code does not exist for that program. An important feature of Sentinel LM is that customer Abbot can at any time purchase a new license code from you that activates the other two programs of your application. You send customer Abbot a new license code and no new software needs to be installed. Customer Brown purchases a more expensive license code from you that activates all three programs of your application. When customer Brown uses each program, Sentinel LM verifies that the installed license code permits use of all three programs and grants authorization for their use.
Sentinel LM Developers Guide
Chapter 1 Overview
How Does Stand-Alone Licensing Work?
There are two basic methods of protecting an application using Sentinel LM: using Sentinel LM-Shell or using the Sentinel LM Application Library. When you protect a stand-alone application using Sentinel LM-Shell, it wraps your application executable file in a protective wrapper that contains many of the Sentinel LM Application Library calls and license management functions. This allows you to protect an application without modifying the program source code. As shown in the illustration below, after protecting your application, you generate license codes that are the physical representation of the license agreement you made with the purchaser of your application. The license code defines, for example, exactly which of your applications can be used by the customer, whether the application can run on any computer or only on a specific one, whether the license will expire on a specific date, and so on. The license management functions embedded in the application consults the license codes installed on the computer to grant or deny authorization to use the application.
Your application Sentinel LMShell
Your application Sentinel LM stand-alone library and license management function
Your decision on type of licensing to use
License code generator
License codes
Install license code with Client Activator
Protecting a Stand-Alone Application with Sentinel LM-Shell
When you use the Sentinel LM Application Library to protect a stand-alone application, you incorporate library calls in your program source. Various library and license management functions actually become part of your application. Just as with Sentinel LM-Shell protected application, you
Sentinel LM Developers Guide
What Is Licensing?
generate license codes that reflect your license agreement with your customer, and the protected application grants and denies authorization to use the application based on the license codes installed on your customers computer.
Your application + Sentinel LM application library & license management functions = Your application Sentinel LM stand-alone library and license management functions
Your decision on type of licensing to use
Code generator
License codes
Install license code with Client Activator
Protecting a Stand-Alone Application with the Application Library
Installing a License Code for a Stand-alone Application
Whether your application is protected with Sentinel LM-Shell or by Application Library calls, it can optionally call Sentinel LM license activation programs to install your applications license at your customers site if a valid license is not found. For stand-alone applications, you can use Sentinel LM Client Activator to make license installation easy and simple for your customer. The Client Activator allows the customer to install a license directly from the Internet or by typing the license code from the keyboard, from a label on the product packaging or when obtained over the telephone by calling your fulfillment center (A company that stocks software, manuals, keys, etc. and puts everything together to ship to a customer. Your fulfillment center might also act as a distributor, and program keys for your customer). To use the Client Activator to install licenses over the Internet, you must also have the Sentinel Express product, available separately. The Client Activator gets the license from internet and installs it on local machine. For more information
Sentinel LM Developers Guide
Chapter 1 Overview
on license activation and the Client Activator, see Chapter 5, License Activation, on page 51.
Stand-alone Licensing on a Terminal Server Disabled
To prevent multiple users from logging onto a terminal server to run an application, thus defeating the intention of the applications license to authorize use by a single customer, Sentinel LM automatically detects if a stand-alone application is being run on a terminal server and terminates the application with an error message. An application protected for network mode will be allowed to execute on a terminal server.
Note: On a Windows 2000/ 2003/ XP server with terminal services enabled, a stand-alone application will run if the user is executing the application directly on the server (that is, the user is not remotely connected). On Windows NT terminal servers, the stand-alone application will not execute under any circumstances.
Network Application Protection
In the case where you sell your application to run on multiple computers on a network, Sentinel LM moves the license management function outside of the protected application and uses an external license server to verify that a valid license code exists before granting authorization to run the application. (The license server can run on any computer on the network, including a computer on which the protected application is run.) The license server keeps track of all Sentinel LM licenses and handles requests from network users who want to run your application, granting authorization to the requesters to allow them to run the application, and denying requests when all licenses are in use. Heres an example. A company purchases a license for your application that allows up to 10 users to use the application at the same time. (We say that the single license has 10 tokens.) A user on one computer starts up your application; the application requests a license token from the license server. The request is approved, and the application runs. While that application is running, nine
Sentinel LM Developers Guide
What Is Licensing?
other users on other computers try to run your application. Each request is granted because license tokens are available. However, when the 11th user tries to run the application, the request is denied because no license tokens are free, and the application tells the user that no licenses are available. When one of the existing 10 users exits your application, a license token is freed and the new user can try again to run the application.
How Does Network Licensing Work?
When you use Sentinel LM-Shell to protect your application and you specify that the application will run in a network environment, Sentinel LM-Shell wraps your application in a protective shell that contains Sentinel LM Application Library functions. In this case, an external license server handles all license management. As with all Sentinel LM-protected applications, you use the license code generator to create the license codes. The license server consults the license codes to determine whether or not to grant a license.
Your application
Sentinel LM - Shell
Your application Sentinel LM network library function
Your decision on type of licensing to use
Client Activator
License code generator
License codes