Go to home page
 

What's New in Protection!

Overview   Media   What's New   Download   Support   Buy
 

v 5.5.5 - 01/12/2023 (Details...)

  • Added compatibility with the latest builds of Oracle Java 17 and Java 19
  • Fixed hang on Windows 11
  • Minor improvements and fixes

NOTE: If the "RSA-512 (BouncyCastle)" encryption is used for your licenses - you should update your applications to use the latest version of BouncyCastle security provider. You can find it at <PROTECTION_INSTALL_DIR>/lib/bcprov-jdk18on-172.jar. If you continue use of outdated version of BouncyCastle - it may result "license corrupted" errors on the latest versions of Java.

v 5.5.4 - 06/17/2022 (Details...)

  • Migrated logging to Log4j 2.17.2
  • Minor improvements and fixes

v 5.5.3 - 01/06/2022 (Details...)

Sales Control Center

  • Fixed inability to log licenses delivery
  • Minor improvements and fixes

v 5.5.2 - 12/31/2021 (Details...)

  • Fix for the "Remote Code Injection" issue in Log4j
  • Migrated logging to Log4j 2.17.0
  • Minor improvements and fixes

v 5.5.1 - 11/7/2021 (Details...)

  • Java 17 support
  • Minor improvements and fixes

v 5.5.0 - 6/10/2021 (Details...)

Framework

  • Improved LicenseHostProContext to avoid getting loopback local host address on some Linux/Unix/Mac OS configurations.

Licensing Server

Server

  • Added more debug logging for HTTP interface.
  • Improved handling of Named licenses.
  • Added automatic encryption of passwords on the fly for some configuration files.
  • Drastically improved calculation times for most of the reports.
  • Fixed some build issues.

Management Console

  • Added 'Upgrade Need' gauge for licenses statistics view.
  • Added checks to avoid using obsolete and/or unsupported versions.
  • Added the 'Options | Check Licenses Upgrade' option to control automatic checks.
  • Fixed issues with connection passwords in the command line interface.

v 5.4.3 - 4/12/2021 (Details...)

  • Small improvements..

v 5.4.2 - 3/27/2021 (Details...)

Framework

  • Fixed issues with concurrent access in licensing service support.

Sales Control Center

  • Fixed improper Activation Key generation in the Activation Key Dialog.

v 5.4.1 - 3/18/2021 (Details...)

Licensing Server

  • Improved security.
  • Small fixes and improvements

v 5.4.0 - 3/8/2021 (Details...)

Licensing Server

  • Redone HTTP interface using Vert.x
  • Exposed keystore file as the /bin/.keystore to allow using valid SSL certificates

v 5.3.4 - 2/10/2021 (Details...)

Licensing Server

  • Passwords expiration
  • Empty passwords are not allowed anymore
  • Strong passwords are required
  • Passwords are not transferred between client and server and not stored on server anymore

v 5.3.2 - 1/5/2021 (Details...)

Licensing Server

  • Improved discovery interfaces
  • Improved license session management
  • Removed resource leaks

v 5.3.1 - 10/30/2020 (Details...)

Licensing Server

Management Console | Command Line

  • Added ability to run in headless environment
  • Added ability to specify connection as 'user:password@host:port'

v 5.3.0 - 09/12/2020 (Details...)

Licensing Server

  • New "Server Summary" report
  • Fixed issues while downloading JSON file for command-line processing
  • Minor improvements in calculation of the server summary

v 5.2.6 - 07/17/2020

Developer/Sales Control Center

  • Fixed an issue with parsing dates entered in Korean locale

v 4.9.6 - 07/14/2020

Developer/Sales Control Center

  • Fixed an issue with parsing dates entered in Korean locale

Licensing Server

  • Fixed an issue with improper calculation of loaded licensing statistics

v 5.2.5 - 04/24/2020 (Details...)

Framework

  • Ability to specify operations allowed to resolve missing license case
  • Ability resolve missing license case by getting license from Licensing Server
  • Fixed inability to perform deactivation for apps that make use of unconverted cipher keys while dealing with Protection! Ent that utilizes converted cipher keys (see Topic 2.10 "FIPS Support" of What's New in Protection! 5

Developer Control Center

  • New "Edit Product | Integration | Issue Resolvers" page
  • Updated the "Edit Product | Integration" page

Licensing Server

  • New "Usage per License" report
  • Fixed miscalculation of some licensing statistics when upgrading from previous versions of Licensing Server

Management Console

  • Automatic checking and highlighting licenses need to be upgraded
  • New progress indicator in the Status Bar

v 5.2.0 - 01/08/2020 (Details...)

Framework

  • Support of licensing of native applications
  • New events for LicenseHostListener
  • New events for LicenseReaderListener
  • Ability to activate GUI applications when needed
  • New methods to get license Information in textual torm
  • Small fixes and improvements

v 5.1.5 - 11/14/2019

  • Small fixes and improvements

v 5.1.0 - 10/08/2019 (Details...)

Protection! Licensing Server

  • New command line interface for Management Console
  • Improvements in LDAP members fetching
  • Improved installation package

v 5.0.0 - 07/05/2019 (Details...)

Framework

  • Automatic License Backups
  • Support of License Kinds
  • Improved File Secret Storage
  • Jar File Secret Storage
  • Briefcase Mode for Named Licenses
  • Centralized Tracking of License Usage Limit
  • Tracking of CPU Cores, Memory and Usage Limits
  • Checking Status of Licensing Server
  • Support of New License Lock Attributes
  • FIPS Support

Developer Control Center

  • Improved the "WS Application Configuration" Dialog
  • Entering License Kind Attributes
  • Entering New Attributes for Floating and Named LS Models
  • Updated the "Edit Product | Integration | Secret Storages"
  • New the "Edit Product | Integration | License Upgrade"
  • Updated the "Edit Product | Integration | Licensing Server"
  • Improved the "Edit Launcher Build Configuration"
  • Ability to Save Audit Results to a File

Licensing Server

Server and Management Console

  • Support of Default License User Group
  • Control of License User Group | LDAP Members Traversal

Server

  • License Inbox
  • RMI over SSL Licensing Service Interface
  • HTTPS Licensing Service interface
  • Extended Main/Supplemental Licensing Model
  • Extended Named LS Model
  • Auto-creation of License Entries
  • Ability to Specify the System Properties
  • Improvements in Licenses Distribution

Management Console

  • Management Communication over SSL
  • Enhanced License Details Views
  • License Statistics Dashboard
  • New Requests Report
  • New License Report
  • Ability to Manage Products
  • Improved Handling of Connections
  • Ability to View System Information
  • Improved LDAP Access Testing

v 4.9.4 - 03/03/2019

Framework and All Applications

  • Improved Java 11 support on Mac OS X.
  • Small fixes and improvements.

Licensing Server | Management Console

  • Fixed an issue with duplicate sessions shown in the License Sessions Screen

v 4.9.3 - 01/07/2019

Framework and All Applications

  • Java 11 support.
  • Small fixes and improvements.

v 4.9.2 - 10/25/2018

Framework and All Applications

  • Small changes required to pass Veracode security tests
  • Java 5 is not supported anymore. Java 6 and higher is required now.

v 4.9.1 - 08/24/2018

Protection! Framework

  • Enhanced Named User Licensing Model by allowing to use CPU ID and motherboard ID attributes to lock license to. Note: this functionalty requires bundling the OSHI library and its dependencies; see deploy.html for more information.

Protection! Developer Control Center

  • Enhanced the "Edit Product Dialog | Integration" to support new CPU ID and motherboard ID locking attributes.
  • Improved product audits.

Protection! Licensing Server

  • Additional measures to prevent deserialization vulnerability attacks by utilizing white-list of the classes allowed for desresialization.

v 4.9.0 - 12/20/2017

Protection! Licensing Server

  • Ability to allocate licenses to the users fetched from a LDAP directory. See the topics "3.3.2 Maintaining LDAP Connection" and "3.3.3 Edit License User Group | LDAP Members" of "Protection! Licensing Server Administrator Guide" for more information.

v 4.8.0 - 11/10/2017

Protection! Framework

  • Support of license updates from Licensing Server to follow changes of license/allocation. See the topic "6.8.3 | Handling License Updates or Change Users Allocation" of "Protection! Developers Guide" for more information.

Protection! Licensing Server

  • Support of Main/Supplemental licensing model to allow extending of Number of Copies on the fly. See the topic "6.8.3 | Main/Supplemental License Model" of "Protection! Developers Guide" for more information.

v 4.7.0 - 12/27/2016

Protection! Licensing Server

  1. Automatic reloading of configuration files. To prevent concurrent modification and possible data corruption you must first create an empty lock file. Such lock file should be named as a file to alter, adding .lck extension. Certainly, any lock files must be removed after complete of update. Foe example, to update license users file (licenseUsers.xml) a licenseUsers.xml.lck file must be created. Note, file locks will be automatically cleared after 1 min of timeout. So any updates should be done within 1 min time range. The following files can be updated on the fly:

    - ACL | Lock License-Named: acl_named.xml
    - ACL | Lock License-Floating: acl_floating.xml
    - ACL | Obtain License: acl_get.xml
    - ACL | Global: acl_global.xml
    - License Users: licenseUsers.xml
  2. Updated the "Licensing Statistics" dashboard to offer persistent statistics data and better scope handling.
  3. New metrics reports accessible via the "Licensing Statistics" dashboard: use "Download Reports" button. They are in CSV format so they can be easily imported to Excel to make any further analysis. Note: all those reports require fresh activities to be collected.

v 4.6.3 - 02/28/2013

Protection! Framework

  • Added HTTPS proxy support for Protection! Enterprise connections.
  • Fixed inability to open URL links under Linux/Unix.

Protection! Enterprise

  • Improvement in activation procedure to avoid decrease in available activations for repetitive activations with the same Activation Key (e.g. for the same Mac Address or user name).
  • Improved handling of attached licenses for activation actions.
  • Fixed improper counting of available activations for some MySQL configurations.

v 4.6.2 - 11/16/2011

Protection! Framework

  • Fixed localization issues in Assistant Dialogs

v 4.6.1 - 11/09/2011

Protection! Control Center

  • Fixed MAC address related issues with the Activation Key Dialog on Windows x64

Protection! Enterprise

  • Updated database structure - run <enterprise_home_dir>/server/<database>/update_from_4.6_to_4.6.1.sql script prior to the first use.
    Note: If you are upgrading from earlier versions see: <enterprise_home_dir>/server/<database>/ folder for applicable database update scripts.

Protection! Enterprise Manager

  • Fixed issues with sequential edits of the same-type entities

v 4.6 - 08/04/2011

Protection! Framework

  • Ability to eliminate the use of native libraries to obtain interface MAC address under Java 6 environment. To turn it ON either:
    - in your code specify:
         LicenseHostPro.setUseJava6Context(true)
    - or specify a System Property:
         com.jp.protection.pub.pro.LicenseHostPro.useJava6Context=true
  • Native RSA cipher implementation on Java 6 with ability to remove dependency for Bouncy Castle Crypto API.
    To remove Bouncy Castle dependency:
    1. Use "RSA - SunJCE - 512" security algorithm for your product.
    2. Instruct Protection! not to use Bouncy Castle either by:
    - in the code calling:
         SecurityProviderFactory.setUseBouncyCastleSecurityProvider(false)
    - or by specifying a System Property
         com.jp.protection.security.useBouncyCastleSecurityProvider=false
    3. Remove Bouncy Castle libraries from your application.
  • Ability to use macro variables in Product's Product Links. The following macro variables are currently supported:
    ${user}
    ${locale}
    ${macAddress}
    ${host}
    ${ipAddress}
    ${activationKey}
    ${os.name}
    ${os.version}
    ${os.arch}
    ${java.version}
    ${product}
  • Fixed concurrency-related issues during Licenses generation

Protection! Enterprise

Protection! Enterprise Server

  • Tracking of the "Usage Left Count" on Deactivation/Activation to preserve count value during move of the License to another computer.

Protection! Enterprise Manager

  • Improved algorithm for populating the "Activation Key" combo-box when adding Deactivation Action.

v 4.5.1 - 07/30/2010

Protection! Framework

  • Added ability to lock license to MAC address of the network card for FreeBSD and Linux on Intel x86-64 bit platform.

Protection! Enterprise

  • Updated database structure - run [enterprise_home_dir]/Server/[database]/update_from_4.5_to_4.5.1.sql script prior to first use.
    Note: If you are upgrading from earlier versions see: [ent_home_dir]/Server/[database]/ folder for applicable database update scripts.

Protection! Enterprise Server

  • Added storing actual License in the database (attached to the License and License Actions) during all the operations.
  • Added ability to always return License bytes to requestor disregarding License delivery type by specifying the com.jp.protection.priv.pro.integration.ent.alwaysReturnLicenseBytes System Property for container (e.g. Tomcat or GlassFish).

Protection! Enterprise Manager

  • Added ability to store actual license file to the License and License Actions.
  • Added ability to save attached license to a file.

All GUI Applications

  • Fixed inability to open URL links on Linux.

v 4.5 - 9/10/2009

Protection! Enterprise

  • Updated database structure - run [enterprise_home_dir]/Server/[database]/update_from_4.2_to_4.5.sql script prior to first use.
    Note: If you are upgrading from earlier versions see: [ent_home_dir]/server/[database]/ folder for applicable database update scripts.
  • Added Protection! Connect™ - a turnkey integration solution between Protection! Enterprise and third-party CRM and SFA applications. See the server/connect/doc/Protection_Connect_Administrator_Guide.doc for more information about it.

Protection! Enterprise Manager

  • Ability to configure Protection! Connect™ connection.
  • Ability to post change notifications to Protection! Connect™.
  • Ability to export products to Protection! Connect™.
  • Ability to export license actions and customers to Protection! Connect™.
  • Implementation of database access layer has been refactored to use Oracle TopLink Essentials instead of Oracle TopLink.

Protection! Enterprise Server

  • Ability to post change notifications to Protection! Connect™.

Protection! Licensing Server

  • Protection! Licensing Server - improved ability to manage server using Protection! Management Console when the server is running behind firewall. It can be done by specifying the mgmtPort and mgmtExportPort attributes to the server configuration (server.xml).
  • Protection! Management Console - significantly improved application performance when managing Licensing Servers over the Internet.

Protection! Framework

  • Licensing Assistant - improved handling of HTTP proxy settings for requesting licenses from the Licensing Server.
  • License Lock Assistant - improved handling of HTTP proxy settings for acquiring license locks from the Licensing Server.

v 4.2.1 - 03/24/2009

Protection! Enterprise Manager

  • Improved handling for application's system and user preferences.

Protection! Framework

  • Improved Activation Assistant's behavior for offline activations.
  • Improved Deactivation Assistant's behavior for offline deactivations.

Protection! Control Center

  • License Screen - added automated extraction of Activation Key from the clipboard buffer when pasting into the Activation Key field.

v 4.2 - 03/13/2009

Protection! Enterprise

  • Updated database structure - run [enterprise_home_dir]/Server/[database]/update_from_4.1_to_4.2.sql script prior to first use.
  • Improved time zones support. License actions date and time are now stored as Greenwich Mean Time (GMT). Date and Time for the license action will be shown in Protection! Enterprise Manager properly converted to the user's current time zone.

Protection! Enterprise Manager

  • Renamed "ID" column to "Id" in files exported from Protection! Enterprise Manager. Uppercase "ID" caused Microsoft Excel to incorrectly recognize these export files as the SYLK files. see: http://support.microsoft.com/kb/215591
  • Added ability to automatically open exported *.csv files with the associated application (e.g., Microsoft Excel).
  • Added detailed tooltips for all grid views (controlled via Options | Preferences dialog).
  • Added ability to choose an Activation Key for the New/Edit License Action Dialog.
  • Added ability to specify notes for the License Actions.
  • Licenses Screen: added additional License Details Views: Customers and License Actions
  • Licenses Screen: added ability to switch License Details Views (via View | View License Details).
  • Customers Screen: added additional Customer Details Views: Licenses and License Actions
  • Customers Screen: added ability to switch Customer Details Views (via View | View Customer Details).
  • Improved Quick Filter and Apply Filter actions to initiate an immediate refresh when "Auto Refresh" option is turned OFF.
  • Added ability to test connection to the database before saving Database Accounts configuration.
  • Added ability to allow/disallow license delivery to users with free e-mail addresses (via Options | Preferences dialog).
  • Added ability to specify custom url/uri scheme for contact via e-mail (via Options | Preferences dialog).
  • Added ability phone the customers by forwarding calls to VoIP clients (e.g., Skype).
  • Added ability to specify custom url/uri scheme for contact via VoIP clients (e.g., Skype) (via Options | Preferences dialog).
  • Added ability to search companies in the Web.
  • Added ability to specify custom url/uri scheme for searching companies in the Web (via Options | Preferences dialog).

Protection! Enterprise Server

  • Fixed license generation/delivery for products without any "Product Edition".

Protection! Developer - Control Center and Protection Builder Utility

  • Fixed Protection! Launcher build process to properly carry "Product Edition" and "Product Edition Name" attributes.

Protection! Framework

  • Fixed inability to specify custom logo for Licensing Wizard in certain cases.
  • Added Support for the following languages:
    • Traditional Chinese
    • Lithuanian
    • Polish
    • Russian
    • Swedish
    • Thai
    • Welsh

v 4.1.2 - 12/04/2008

Protection! Enterprise

Protection! Enterprise Manager

  • Fixed License Actions modification error for products without editions.

Protection! Enterprise Server

  • Fixed license deactivation process.

Protection! Developer - Control Center

  • Added ability to clear attributes of appropriate Product Links in Edit Product Dialog.
  • Fixed Products Import functionality to allow for correct handling of duplicate products.

Framework

  • Fixed problems with localization in the Activation Assistant.

v 4.1.1 - 11/20/2008

Framework

  • Fixed wrong handling of Evaluation licenses (occurred in Protection! 4.1 only).

v 4.1 - 11/18/2008

Protection! Enterprise

  • Updated database structure - administrators must run update_4.1.sql script before first use.

Protection! Enterprise Manager

  • Significantly improved performance.
  • Added ability to modify manually added License Actions.
  • Added ability to automatically populate new License Actions with currently selected License and Customer attributes.
  • Added ability to indicate specific time when generating new License Action.
  • Improved "Go to License" and "Go to Customer" navigations.
  • Added option to refresh views if discovery of requested entity was not found.
  • Added ability to turn ON/OFF view's filters, preserving original filter's criteria.
  • Added quick filter search field to the License and Customer chooser dialogs.
  • Minor improvements and issue fixes.

v 4.0 - 09/15/2008

Framework

  • Support of right-to-left orientation (depending on default locale) for all the GUI components and dialogs.
  • Support of Simplified Chinese and Arabic languages.

Protection! Enterprise

Protection! Enterprise is a new product designed to bring real value to software publishers by providing full automation of licensing processes together with management of licenses, customers, and evaluators.

Protection! Enterprise consists of the following components:

Protection! Enterprise Server

Protection! Enterprise Server is a plug-in to Protection! Web Services Application, set of libraries and database DDL scripts necessary to create a database. The main features are:

  • Host an unlimited number of products
  • Generate, activate, deactivate and distribute an unlimited number of licenses for each hosted product.
  • Account based access control.
  • Ability to create an unlimited number of accounts with per account set of permissions for all licensing activities (license delivery type, license actions and license types).
  • Automated logging of all licensing activities.
  • License activation support with automated management of available activations.
  • Maintain number of available activations.
  • License deactivation support.
  • Trial licenses support with automatic ability to restrict customers from obtaining multiple trial licenses for the same product.
  • Serial Numbers support with automatic tracking of previously issued licenses.
  • Support for Online and E-Mail delivery of licenses.
  • Customizable E-mail message templates with extensive Macro language support.
  • Support for Oracle Database 10g/10g XE/11g
  • Support for MySQL Server 5.x and later

Protection! Enterprise Manager

Protection! Enterprise Manager is a rich GUI client for managing all aspects of the license processes, customers and their licenses. The main features are:

  • Authentication and authorization support per Enterprise Server with ability to maintain Enterprise Server users.
  • Connect to multiple Enterprise Servers.
  • Manage accounts and permissions for all types of licensing activities (license delivery type, license actions and license types).
  • Automated generation of default accounts and e-mail templates during products import.
  • Design custom e-mail templates for each product/edition/license type combination.
  • Support for Code Complete during design of e-mail messages.
  • Take products "off-line" by changing their "active" status.
  • View complete license and license action statistics.
  • View customer information for each individual license.
  • View license actions for each individual license.
  • Drill-down to customer's details and license actions for each license.
  • Change existing license action to inactive state (soft delete).
  • Drill-down to customer and license detail info for each individual license action.
  • View customers and all customer's licenses and license actions for each individual license.
  • Drill-down to customer's licenses and license actions for each license.
  • View customer's details, send email to customer and navigate to customer's web site.
  • View and edit details info for customer, license, and license action.
  • Manually create new license actions.
  • View reports on all licensing activities and filter each report based on license/product/customer attributes.
  • Rich presentation grid with ability for high level of customization (i.e., create custom grouped views with filters and custom sort order; manage visible fields (columns) and their order; etc.).
  • Import of license actions from the Protection! Sales application's license delivery log.
  • Import products from the Products Storage using the Product Import Assistant.
  • Export users that requested evaluation license but have not yet purchased commercial license for the product (evaluators).
  • Export active view.

v 3.5 - 03/10/2008

Framework

  • Added the HeadlessProtectionFactory class should be used to create and initialize Protection! objects for headless applications. It's strongly recommended to update existing headless applications to avoid some potential issues (related to AWT) that could happen under some configurations and/or containers.
  • Added ability to discover IP addresses and ports of available Licensing Servers for Licensing and License Lock Assistants.
  • Added ability to choose already activated license to the Deactivation Assistant.
  • Improved proxy support for Assistants.
  • Extended the deliver(...) method of the LicensingFacadeDelivery interface by adding a LicensingFacadeSession parameter.

Control Center

  • Added the -deactivation_info option to the command line allowing to view latest deactivation information.
  • Added the -deactivation option to the command line allowing to force deactivation process.
  • Added drop down list of recent opened files to the toolbar's Open button.

Developer Control Center

  • Updated headless code snippets to reflect usage of HeadlessProtectionFactory class.
  • Added new audit rules to point the users' HOME related issues for headless applications.
  • Added unique audit rule codes.
  • Added ability to create new products using optional New Product Assistant (controlled via the Options | Use New Product Assistant menu item).
  • Added "Product Type" identifier (e.g. GUI or Headless) to the product attributes.
  • Added Code Snippets association with the particular product.
  • Added ability to specify related paths for the File Digest Entries.

Sales Control Center

  • Added ability to preview license data prior to the delivery (controlled via the "Warn Before Delivery" menu item).

Other

  • Documentation improvements.
  • Minor improvements and issue fixes.

v 3.0 - 06/08/2007

Licensing Server Support

Licensing Server is a new Protection! subsystem responsible for distribution of licenses and for tracking of the concurrent use of licenses. The following components are included:

Licensing Sever Application

The Licensing Server application is a turnkey solution that is deployed inside the customer's network. It can be run as a Windows service or as a UNIX daemon. The main features of the Licensing Server are:

  • Support for Floating and Named User models by tracking licenses usage using the concept of license lock (acquire) and unlock (release).
  • License lock sessions expiration to allow correctly releasing of the license lock when the client application is not responding or the network (connection to the Licensing Server) is down.
  • Ability to host and to distribute an unlimited number of licenses for an unlimited number of products.
  • Ability to allocate licenses for specified users and/or user groups.
  • Ability to control access to the Licensing Server by using access control lists (whitelist and blacklist) for any types of operations.
  • Ability to remotely monitor and manage the Licensing Server via the supplied Management Console application.

Management Console Application

The Management Console is a GUI application intended for remote monitoring and management of the Licensing Server(s). The main features of the Management Console are:

  • Authentication and authorization per Licensing Server with the ability to maintain the Licensing Server users.
  • Support for multiple Licensing Server connections.
  • Ability to discover running instances of the Licensing Servers via network broadcast.
  • Ability to maintain access control lists.
  • Ability to view licensing statistics and server statistics.
  • Ability to disable/enable any licensing activities.
  • Ability to shut down the Licensing Server.
  • Ability to visually monitor current license sessions.
  • Ability to revoke specific license sessions.
  • Ability to maintain licenses storage.
  • Ability to maintain license users/groups
  • Ability to allocate licenses for specified users and/or user groups.

Client Application Code

Client application code allows for seamless integration with the Licensing Server and has the following main features:

  • Automatically handling of the Named and Floating User licenses by acquiring and further maintaining license lock by using a scheduled polling connection to the Licensing Server.
  • Ability to receive notifications from the Licensing Server when the license lock is expired or revoked by the Licensing Server administrator.
  • License Lock Assistant Dialog that is shown when license lock could not be acquired. It helps in resolving the Licensing Server connection problems and allows client to postpone license acquisition and wait for the license lock availability. Optional ability to specify Licensing Server address helps choosing the right Licensing Server when it is not specified in the license.
  • New Licensing Assistant functionality responsible for end-user assistance in obtaining licenses from the Licensing Server, including the ability to discover available Licensing Servers over network.

Protection! Launcher

The Launcher concept allows placement of almost all of the Protection! initialization data (currently presented in standard code snippet) into the Launcher resource. Launcher can be loaded at runtime and used to initialize Protection! system. Use of the Launcher provides an easy way to update Protection! configuration (e.g. adding secret storages or changing some other configuration options) without the need to manually modify source code and therefore rebuild the application. The following are the main features of the Protection! Launcher:

  • Ability to maintain multiple Launcher build configurations. Each build configuration allows specifying:
    • Target – either file or an archive to generate Launcher.
    • Launcher Type – either GUI or headless.
    • Whether Launcher verbose output is turned on or off.
    • Whether Launcher must be encrypted.
  • Ability to build Launcher using specified Launcher Build configurations.
  • Updated code snippets (GUI (Launcher) and Headless (Launcher)) to employ all of the new features.

License Storage

The License Storage allows holding and storing an unlimited number of licenses in one uniform location (container). License Storage is very useful in such situations when for example:

  • There is a need for keeping together all the licenses for different products from one vendor
  • There is a server application that contains a number of different modules which could be licensed independently.

The main features of the License Storage are:

  • Ready-to-use JAR archives based implementation.
  • License Storage Screen in Protection! Control Center intended for viewing and maintaining the License Storages:
    • Ability to view contents of the License Storage.
    • Ability to add new licenses, modify or remove existing licenses.
    • Ability to import licenses.

Integrity Subsystem

The Integrity (former CRC) subsystem is greatly improved allowing easier integration into client applications and a much simpler build process. The following are the main new features of the Integrity subsystem:

  • • Ability to specify JAR, classes and file entries that must be checked by Integrity subsystem.
  • • Ability to specify runtime configuration:
    • Source – deprecated configuration (pre v3.) where entries and digest are part of the source file.
    • Resource - entries and digest are placed in a resource which can be loaded and used at runtime.
    • File - entries and digest are placed in a file which can be loaded and used at runtime.
  • Support for building of Digest for obfuscated code. Zelix KlassMaster and RetroGuard obfuscators are currently supported.
  • Ability to maintain multiple Digest build configurations. Each build configuration allows for specifying:
    • Target – either file or archive where Digest data will reside.
    • Obfuscation type and location of generated by obfuscator change log file.
    • Mapping of Digest entries for example to allow the building of Digest for classes (development) or for archives (deployment).
  • Ability to build Digest using specified configuration.
  • Updated code snippet of all of the Digest subsystem new features.

Protection! Builder Utility

This new command line utility allows building various Protection! resources. Protection! Builder Utility allows for use of various build systems (i.e., Ant) and scripts to automate assembling of protected applications. This utility allows building:

  • Protection! Launchers using specified configuration and optional target.
  • Digest’s using specified configuration and optional target.
  • Protection! Web Services application.

Products Storage Protection

This functionality allows protecting products storages for opening and modification. The main features are:

  • Ability to apply read-protection by specifying a password. If read-protection is applied to the products storage then the correct password must to be provided to be able to open such products storage. After read-protection is applied to the product storage, such products storage will be strongly encrypted. That in turn minimizes possible damages if products storage was stolen or lost.
  • Ability to apply write-protection by specifying a password. If write-protection is applied to the products storage then the correct password must be provided to be able to make any modifications to such products storage.
  • "Lock" decorations is introduced in the Product and Integrity screens when write-protected products storage is opened.
  • Ability to use double-clicks in the status bar to quickly lock/unlock write-protection.

Product Audit

This new functionality of Developer Control Center (Products Screen) allows checking selected product for errors, option conflicts and potential issues depending on selected target (Code Snippet). The following are the main features of the Product Audit subsystem:

  • Ability to view a list of audit results and review a detailed description for the selected audit topic using the Audit tab.
  • Ability to quickly fix audit issues using context menu or hyperlinks in the issue description or by invoking the default fix action by pressing the Enter key or mouse double click.
  • Ability to ignore specific audits and maintain an ignore list using the Edit Product dialog.

Control Center

  • Support for new User Licensing Models in the License Screen.
  • Added command line options to the Protection! Control Center to allow for specifying products storage to open and for printing license and system information during startup. Running Control Center –help displays all the available options.
  • Added ability to use specified License Alias to provide default license attributes during creation of new licenses.

Sales Control Center

This new command line utility allows building various Protection! resources. Protection! Builder Utility allows for use of various build systems (i.e., Ant) and scripts to automate assembling of protected applications. This utility allows building:

  • Protection! Launchers using specified configuration and optional target.
  • Digest’s using specified configuration and optional target.
  • Protection! Web Services application.

Sales Control Center

  • Ability to optionally place customer information into the license (Options | Store Customer into the License).
  • Ability to manage multiple Facade connections and view tooltip in the "Send to Backend" button to see connection info.
  • Ability to construct an Activation Key using known end-user attributes i.e. MAC address, host name, user name, etc.

Developer Control Center

This new command line utility allows building various Protection! resources. Protection! Builder Utility allows for use of various build systems (i.e., Ant) and scripts to automate assembling of protected applications. This utility allows building:

  • Added ability to specify a License Alias to provide default license attributes during creation of new licenses.
  • Added auto restoring of the recently selected code snippet in the Products Screen.

Framework

  • Improved User Licensing Model which defines how to handle different users working with the same license. The following models are now supported:
    • "Uncounted" – any number of users can work concurrently with the license regardless of the license number of copies value.
    • "Floating" – only a certain number of users can work concurrently with the license according to the license number of copies value. Actual usage check is done using the network broadcast facility.
    • "Named" - only a certain number of users can work with the license according to the license number of copies value. This is done via activation and/or activation-and-lock facility.
    • "Floating - Licensing Server" – only a certain number of users can work concurrently with the license according to the license number of copies value. Actual usage check is done by contacting the Licensing Server and acquiring the license lock.
    • "Named - Licensing Server" – only a certain number of users can work with the license according to the license number of copies value. Actual usage check is done by contacting the Licensing Server and acquiring the license lock.
  • Added policy to the Network Check to allow for control when running several instances of protected applications on either the same or on different hosts.

Other

  • Minor improvements and issue fixes.

v 2.1

License encryption enhancements

  • Added support for RSA encryption with keys sizes up to 512 bits.
  • Added ability to specify encryption attributes during creation of a new product (New Product | Product page).
  • Added ability to change encryption and regenerate encryption keys for existing products (Edit | Encryption).
Note the <install_dir>/lib/ bcprovs-131.jar is now required  and must be deployed to run protected applications.

Full Internationalization Support

All Protection! Assistants and messages have been improved in Protection! 3 API to provide multilingual support. Currently the following languages are supported: Dutch, French, German, Italian, and Spanish. Additional languages would be available in the future releases.

Protection! Activation Utility

Added Protection! Activation Utility to allow maintaining Protection! licenses in headless environments. Please see the “Protection! Activation Utility” topic in the Protection! Developer Guide for more information. 

Better Mac OSX Compatibility

  • Properly handled “About” and “Quit” actions.
  • Adjusted some keyboard shortcuts to meet Mac OSX requirements.

Protection! Documentation

  • Added “Licensing Protection! Backend API” topic. (Protection! Developer Guide).
  • Added “Orders Parsing” topic. (Protection! Developer Guide).
  • Added “Protection! Activation Utility” topic. (Protection! User Guide).

Protection! Backend Deployment

  • Protection! Backend Deployment license is now named as “protection.backend.license”. Existing Protection! Backend Deployment licenses should be renamed accordingly to be compatible with the new 3 framework version.
  • Protection! Backend Deployment license now REQUIRES activation to enable Backend functionality. Please use Protection! Activation Utility for activation and deactivation of Backend licenses.

Other

  • Minor improvements and issue fixes.

v 2.0

General

Licensing Model

  • Ability to lock license to the user, IP address, Number of CPUs and the host name.
  • Usage based license expiration and grace period support.
  • Grace period for Licenses Activation.
  • License Deactivation allowing deletion or transfer of the license to another computer.

Sales Application

Protection! now includes new Sales application (Protection! Sales) that is targeted to the sales stuff. This application provides Control Center with complete licensing functionality and hides all developer-oriented features. With Protection! Sales users are able to open and use only the existing products storages. For products creation and maintenance Protection! Developer must be used.

Note: Protection! Control Center Developer Edition provides only basic (open/save) licensing functionality.

Assistants

  • Product name is now shown in the title.
  • Ability to specify which choices are available for the user.
  • Licensing Assistant now provides ability to get already activated license by Serial Number as one step process.
  • Deactivation Assistant that provides ability to deactivate license on the local computer and to notify vendor about Deactivation results.
  • Added Progress Page for all Assistants processes which deals with Protection! backend. This page indicates:
    • List of operations in queue to be completed
    • Status of completed/failed operations
    • Animated progress icon for operation being currently executed.

Now it’s possible to interrupt backend operation and close Assistant by pressing the Cancel button.

License Screen

  • Ability to specify customer attributes using the new Customer tab. Such attributes can be used:
    • To accompany license information during writing of the license generation log file.
    • To help compose e-mail message for license delivery via email (e.g. by using customer e-mail address or embedding customer’s attributes into the e-mail subject and/or body).
    • To allow for license delivery via Protection! Backend

    It is possible to specify that customer attributes should be cleared during license operations:

    • For new licenses via the Options | Clear Customer for New Licenses menu item.
    • For opened licenses via the Options | Clear Customer for Opened Licenses menu item.
  • Support for default Custom Properties for each individual product. Such default custom properties will be automatically inserted into each newly created license. Default custom properties support includes an optional mandatory attribute handling and proper cell editors for the properties representing choice type.
  • New License Screen layout:
    • Product, edition and version combo boxes moved to the top.
    • Product features pane moved to the dedicated tab at the right.
  • Changes in E-mail delivery:
    • All E-Mail options moved to Options | E-mail Delivery sub-menu
    • Added ability to specify a requirement to enter customer information when delivering licenses via email. This requirement can be set via Options | E-mail Delivery | Require Customer menu item.
  • Ability to deliver licenses through Protection! Backend. Generally Protection! Backend should be configured to deliver licenses by e-mail. This functionality can be controlled via the Options | Protection! Backend Delivery sub-menu. Backend connection options can be specified via Options | Protection! Backend Delivery | Connection Options menu item. It is possible to specify a requirement to enter customer information via the Options | Protection! Backend Delivery | Require Customer menu item. The user can be warned before licenses delivery process will take place to reduce possible license delivery errors; this functionality can be controlled via the Options | Protection! Backend Delivery | Warn Before Delivery menu item.
  • Ability to parse license orders. License order parsing allows extracting license and customer information directly from the order notification received from online E-Commerce stores like element-5. License Order Parsing designed to reduce efforts and to eliminate errors during license generation and re-entering customer details from the original order confirmation.
  • To enable this functionality appropriate License Aliases should be created for each particular product listed in the online store. Order parsing can be invoked via the Edit | Parse Order or Edit | Parse Order from Clipboard menu items. By default only critical messages are shown during order parsing; but it is possible to show messages for any low priority issues via Options | Warn on Any Order Parse Error.

    Note: currently only element-5 (www.element5.com) and share-it! (www.shareit.com) textual order notification formats are supported; more formats to come in the future.

  • Ability to log licenses delivery process in comma-delimited format (file, e-mail and Backend delivery types are supported). It is possible to control this functionality via Options | Log License Delivery menu item.
  • Ability to specify grace period for licenses activation.
  • Ability to specify licenses expiration based on application usage count. Grace period is added as well.
  • Ability to include license properties and license features for licenses delivered through Protection! Backend. Now, delivered licenses have exactly the same attributes as specified in the License Screen.
  • Ability to validate Deactivation Key by use of the Validate Deactivation Key dialog which can be invoked via License Screen | Options | Validate Deactivation Key.
  • Progress for all license delivery operations that is shown in the application’s status bar. It is also possible to cancel delivery by pressing the Cancel button in the status bar.
  • Ability to open existing licenses or parse order files via Drag&Drop. If dropped file is not recognized as a license (by its extension) the user will be prompted with a menu allowing the user to choose whether dropped file should be processed as a license or as an order.

Product Properties and Edit Product Dialog

The Product is extended to hold almost all properties and options required to precisely integrate Protection! via generated Code Snippets and to provide more defaults for generated licenses. The following properties are added:

  • Default properties for new licenses.
  • License host options.
  • Logo image for the About Dialog.
  • Assistants’ options and logos.
  • Protection! Backend connection attributes.
  • List of secret storages.
  • License agreement texts.
  • Property that marks a product as disabled to allow safely keep it in the products storage but eliminate ability to use it for licensing.

The Edit Product Dialog is completely redesigned and provides the following new features:

  • New pages navigation using tree selector.
  • Search over the whole dialog contents by typing search word and observe results as blue gauges in the tree nodes.
  • Ability to maintain all newly added Product properties.
  • Updated Codes Snippets to provide fully configured and ready to use source files for easy Protection! integration.
  • Updated Code Snippet and E-mail template editors to include all newly added Product properties.

License Aliases

Protection! 2 introduces concept of License Alias which bundles together certain license, identifiers and additional properties. This provides a way to refer to a License Alias by one of its identifiers and further creation of license based on license alias. License Aliases can be used in various areas including:

  • Orders parsing to allow creation of certain licenses according to product identifier assigned by E-Commerce store. In this case each product identifier should have corresponding License Alias created.
  • Serial Numbers v2 support to allow creation of licenses according to the alias attribute encoded into Serial Number.
  • License Shortcuts shown in the Shortcuts Side Bar to allow quick creation of licenses with predefined set of attributes

License Aliases are stored in the products storage and can be maintained via Products Screen – Edit | License Aliases menu item.

Serial Numbers v2

Protection! 2 introduces v2 of Serial Numbers which are based on the concept of License Alias. Serial Numbers v2 contain encoded representation of the license number and license alias. Because Serial Numbers v2 refers back to the License Alias it is possible to associate exact set of license attributes with each Serial Number. This eliminates major limitation of Serial Numbers v1 where Serial Number v1 was able to hold only limited set of license attributes.

This change is relatively transparent to the customers as v1 Serial Numbers are still supported. However, version 1 of Serial Numbers is now deprecated/obsolite. Special attribute in the products storage defines which version of Serial Numbers should be used. This could be controlled via Products Screen | Options | Use Obsolete Serial Numbers menu item. All of the Serial Numbers dependent functionality including API and dialogs supports both versions of the Serial Numbers and provides specific implementation for currently selected Serial Number version.

Protection! Backend

  • A new method is added to Protection! Backend that allows getting licenses for limited set of attributes (product, edition, major and minor versions, type) that primarily intended to be used from within end-user applications.
  • A new argument is added to all backend methods to allow passing unlimited number of additional arguments as a set of key/value pairs.
  • Dramatically increase of Protection! Web Services Application performance and decrease network usage.
  • Logging of all major backend activities using provided Log4J implementation with ability to specify custom logger implementation by plug-in developers.
  • Improved default plug-in implementation.
  • Ability to return localized messages to the client applications according to the client locales.

CRC check and CRC Screen

CRC check is now supports ability to employ SHA-1 and MD5 digest algorithms. CRC Screen, code snippets etc. redesigned to fully support new functionality.

Other

  • Java Preferences API based Secret Storage implementation.
  • About Dialog now is capable of showing additional license states e.g. “expires after 3 usages”.
    Name of currently opened products storage is now shown in the application status bar.