Search
Close this search box.

Reprise Blog

Reprise Software Blog – Your Hub for Licensing Solutions Insights
Stay informed about our products including Reprise License Manager (RLM), RLM Cloud, and Activation Pro. 

 

Learn from our customer success stories, understand the intricacies of different licensing models, and keep up with our ongoing service upgrades.

Digitally Signing Licenses using Public Key Technology

Digitally Signed Licenses

Since software license keys contain entitlement information, it makes sense to protect that data from tampering and corruption. It would be tempting for an unscrupulous user to change a license count from 10 to 100 by simply tacking on an extra zero, or to upgrade your v2.0 licenses to v5.0 with a similarly simple edit.

 

Software licenses, especially those readable in plain text format, are digitally signed to prevent this. This means that the data that represents the license entitlement (product, version, expiration date, count, etc.) are input to an algorithm that creates a verifiable signature for that data. If the data is ever modified, then the signature for that new data would no longer match the original, rendering the license invalid.

 

Early licensing products used common algorithms that were customized with secret “seeds” to ensure that every vendor’s certificate generator could create and validate licenses for its products only. But, there were problems with this because it was possible for hackers to extract these seeds and build license generators that could create counterfeit licenses that would work with an ISV’s unmodified applications.

 

Today, software licensing vendors rely on public key/private key schemes to address this counterfeit license problem. With public key encryption, software vendors can create digitally signed licenses with a private key that can be verified by anyone who has access to the vendor’s public key. The important point is that, unlike seeds which were exposed in the binary application products, the private key remains private, and is never shipped as part of the software product.

Other Posts

A Complete Guide to Metered Licensing with RLM

Understanding metered licensing through Reprise License Manager (RLM) can significantly improve the way you manage and pay for software. This guide offers a clear, step-by-step breakdown, making the implementation of metered licensing straightforward and accessible.   What is a Metered License? A metered license is

New RLM Release (v16.0)

The latest major release of RLM is finally here! Version 16.0 brings an all new web interface with many enhancements over the previous interface, and fixes multiple vulnerabilities related to the web interface.     New Features Include: All-new Redesigned UI/UX Most server functions now

Comprehensive Guide on Commercial License Types for Software Publishers

As a software publisher, managing your product licenses is crucial to ensuring revenue and protecting your intellectual property. Commercial license managers, such as Reprise License Manager (RLM), provide you with the tools to control the use of your software licenses through various license types.  

Put Your License Servers in the Cloud with RLMCloud

Put Your License Servers in the Cloud with RLM Cloud

What if your customer doesn’t want his server in the cloud? No problem, because you can use any combination of RLMCloud-based servers and on-premise servers that you wish.
Peregrine Labs Moves to RLM to Build Better Products

Peregrine Labs Moves to RLM to Build Better Products

Peregrine developed a small toolset for tracking usage internally, but they needed help from a third-party solution so they could concentrate on building better products instead of trying to maintain licensing.
Lixoft Logo in front of an abstract medical background

Drug Development Company, Lixoft, Uses RLM

A drug development company, Lixoft, uses RLM Cloud for annual license renewals.

Dealing with Activation Read Timeouts (error -105)

On rare occasions, an activation request will get a read timeout status return (-105). There are several causes to the RLM_EH_NET_RERR (-105) error.   If you can activate from some systems, then the first cause (server down) is unlikely.   More likely is that there

How to Set Environment Variables

Environment variables are flags that you set outside an application that the application reacts to. Applications and libraries like RLM read environment variables that they define. Some RLM environment variables are RLM_ACT_TIMEOUT (adjusts the timeout to the activation server to the value supplied), RLM_QUEUE (enables

RLM and RLM
Activation Pro

What’s the difference?

Reprise License Manager (RLM)

Software License Manager

RLM provides runtime checking that verifies that your application is licensed to run and that the current usage of your application is within the limits you have ser every time your application runs.

As a Software publisher, you integrate RLM into your product, and RLM keeps track at runtime of who is using the licenses of your software.

RLM can do this entirely within the client library (linked into your application), or, more commonly, your application makes a request of the RLM Lincese Server to check out a license.

The lincese server runs either on your customers network, or in the cloud if you are using our RLMCloud™ service.

RLM provides runtime checking that verifies that your application is licensed to run and that the current usage of your application is within the limits you have ser every time your application runs.

RLM Activation Pro

Software Activation Manager

Activation Pro is
used once when your customer purchases your software in order to retrieve the license which is specific to that customer.

Software Activation’s purpose in life is to get the licenses for your product to your customers with a minimum of fuss.

Activation Pro also has a server component wich we call the activation server.

Your application contacts the activation server and supplies a short text activation key, and in exchange, the activation server returns the license which enables your product.

Generally, this is done once, right after your customer purchases your software, not every time your software is invoked.