<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Reprise Software</title>
    <description>The latest articles on DEV Community by Reprise Software (@reprise_software).</description>
    <link>https://dev.to/reprise_software</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3952842%2F0a64e7d6-bf32-4651-a66e-256cf42463ee.png</url>
      <title>DEV Community: Reprise Software</title>
      <link>https://dev.to/reprise_software</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/reprise_software"/>
    <language>en</language>
    <item>
      <title>How Environment Variables Work Across Shells (And How to Set Them Right)</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Fri, 21 Aug 2026 20:20:29 +0000</pubDate>
      <link>https://dev.to/reprise_software/how-environment-variables-work-across-shells-and-how-to-set-them-right-1869</link>
      <guid>https://dev.to/reprise_software/how-environment-variables-work-across-shells-and-how-to-set-them-right-1869</guid>
      <description>&lt;p&gt;Environment variables are dynamic flags set outside an application that the application then reacts to. Applications and libraries like RLM read environment variables that they define and rely on them to control runtime options, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;RLM_ACT_TIMEOUT&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;(adjusts the timeout to the activation server to the value supplied)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;RLM_QUEUE&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;(enables queueing for a license) &lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_ROAM&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;(controls setting up, using, and returning roamed licenses)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Environment Process&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A defining characteristic of environment variables is that they are scoped to the specific process where they are set (like a Windows command window or a Unix/Linux shell), and are inherited only by processes that are created by that process. Meaning: if you create 2 command windows and you set an environment variable in window 1, it won't be set in window 2. But if you run an application in window 1, the environment variable will be set in that application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Easiest Way to Set an Environment Variable&lt;/strong&gt;&lt;br&gt;
Set it in a command window or shell, then invoke the application from that window or shell. &amp;nbsp;For example, if you wanted to set&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_DIAGNOSTICS&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;to cause the application to write RLM diagnostic information to the file&amp;nbsp;&lt;strong&gt;&lt;code&gt;diag.txt&lt;/code&gt;&lt;/strong&gt;, you would:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows:&amp;nbsp;&lt;strong&gt;&lt;code&gt;set&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_DIAGNOSTICS=diag.txt&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;sh, bash:&amp;nbsp;&lt;strong&gt;&lt;code&gt;export&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_DIAGNOSTICS=diag.txt&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;csh:&amp;nbsp;&lt;strong&gt;&lt;code&gt;setenv&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_DIAGNOSTICS diag.txt&lt;/code&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then invoke the application from the window where you set&amp;nbsp;&lt;strong&gt;&lt;code&gt;RLM_ROAM&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if your App isn’t Launched from a Terminal?&lt;/strong&gt;&lt;br&gt;
In this case, you can set the environment variable via the Windows control panel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bring up the control panel&lt;/li&gt;
&lt;li&gt;Search for “environment” in the search box at the top right&lt;/li&gt;
&lt;li&gt;Click on "Edit environment variables” for your account&lt;/li&gt;
&lt;li&gt;Enter the environment variable name and value&lt;/li&gt;
&lt;li&gt;Click on OK in both windows&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>beginners</category>
      <category>windows</category>
      <category>saas</category>
    </item>
    <item>
      <title>Creating a Windows Service for RLM Server</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Wed, 19 Aug 2026 15:48:31 +0000</pubDate>
      <link>https://dev.to/reprise_software/creating-a-windows-service-for-rlm-server-26ee</link>
      <guid>https://dev.to/reprise_software/creating-a-windows-service-for-rlm-server-26ee</guid>
      <description>&lt;p&gt;Here’s a step by step guide on how to configure your process to run as a native Windows Service, which ensures your launching automatically, running persistently in the background, and logging outputs cleanly. &lt;/p&gt;

&lt;p&gt;Steps&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download an Admin bundle from our&amp;nbsp;website&lt;/li&gt;
&lt;li&gt;Run the installer&lt;/li&gt;
&lt;li&gt;(Optional) Specify the RLM install location&lt;/li&gt;
&lt;li&gt;Open a command prompt (CMD) or PowerShell terminal&lt;/li&gt;
&lt;li&gt;Change Directories to the location where RLM was extracted in step #3. 
For example:cd C:\Users[username]\Documents\Reprise\rlm.v18.0BL1-x64_w4.admin&lt;/li&gt;
&lt;li&gt;Determine which flags you will want to start RLM with. A full list of flags can be&amp;nbsp;found in our documentation.&lt;/li&gt;
&lt;li&gt;Enter your command.

&lt;ol&gt;
&lt;li&gt;Start with&amp;nbsp;rlm&lt;/li&gt;
&lt;li&gt;Include&amp;nbsp;install_service&lt;/li&gt;
&lt;li&gt;-service_name &lt;/li&gt;
&lt;li&gt;-dlog &lt;/li&gt;
&lt;li&gt;Any other flags from step #6
Example:rlm -install_service ‑service_name example-rlm-service ‑dlog my-debug-log.log&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;RLM should now be configured to run as a service automatically. You can verify this by checking the services application on Windows:

&lt;ol&gt;
&lt;li&gt;In the start menu, type services, and click the services application from the search results&lt;/li&gt;
&lt;li&gt;Find your service in the list of services. This will be what you named the service in step #7.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>windows</category>
      <category>devops</category>
      <category>saas</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Stop License Tampering: Why Digital Signatures Beat “Secret Seeds”</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Wed, 12 Aug 2026 14:26:24 +0000</pubDate>
      <link>https://dev.to/reprise_software/stop-license-tampering-why-digital-signatures-beat-secret-seeds-4ong</link>
      <guid>https://dev.to/reprise_software/stop-license-tampering-why-digital-signatures-beat-secret-seeds-4ong</guid>
      <description>&lt;p&gt;If you issue plain-text license files, what stops an unscrupulous user from opening the file and changing the license count from 10 to 100 by simply tacking on an extra zero, or from upgrading your v2.0 licenses to v5.0 with a quick edit?&lt;/p&gt;

&lt;p&gt;Without a strong security approach, nothing stops them. This is where digitally signed licenses come in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How They Work&lt;/strong&gt;&lt;br&gt;
With a digitally signed license, your entitlement data (product, version, expiration date, count, etc.) is passed through a signing algorithm to generate a unique, verifiable signature for that data. &lt;/p&gt;

&lt;p&gt;When your application loads a license file, it checks both the data and the signature.  If the data is ever modified, then the signature for that new data no longer matches the original, rendering the license invalid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Public Key Encryption Beats “Secret Seeds”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Early licensing products used common algorithms that were customized with secret “seeds” to ensure every vendor’s certificate generator could create and validate licenses for its products only.&lt;/p&gt;

&lt;p&gt;However, this approach had a flaw: attackers could reverse-engineer or decompile application binaries, extract the secret seeds, and build counterfeit license generators that worked seamlessly with unmodified applications. &lt;/p&gt;

&lt;p&gt;Modern licensing solves this issue using public/private key technology:   &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Private Key: Resides strictly on your secure build or licensing server to generate and sign licenses. It’s never shipped as part of your software product. &lt;/li&gt;
&lt;li&gt;Public Key: Distributed with your application binary solely to verify the digital signature. &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>architecture</category>
      <category>cryptography</category>
    </item>
    <item>
      <title>System Guide: Setting Up a Centralized Software Licensing Server</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Fri, 24 Jul 2026 16:07:41 +0000</pubDate>
      <link>https://dev.to/reprise_software/system-guide-setting-up-a-centralized-software-licensing-server-90i</link>
      <guid>https://dev.to/reprise_software/system-guide-setting-up-a-centralized-software-licensing-server-90i</guid>
      <description>&lt;p&gt;Having visibility into user access and seat distribution is crucial for businesses of all sizes, and license servers help you get there.&lt;/p&gt;

&lt;p&gt;Implementing a centralized server allows you to manage, monitor and control your licenses from a single network location. &lt;/p&gt;

&lt;p&gt;Here’s a guide to help you map out the core requirements and configuration to get your server running smoothly:&lt;/p&gt;

&lt;p&gt;System Requirements&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Operating system:  Windows 10 and 11; Apple macOS; or various Linux distributions.&lt;/li&gt;
&lt;li&gt;Processor: An Intel or AMD 64-bit processor &lt;/li&gt;
&lt;li&gt;Additional Software: You might need additional components, such as Microsoft Edge WebView2 Runtime for graphical interfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Configuration Process&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installation&lt;/li&gt;
&lt;li&gt;Option files: The file contains settings discussing how the license server operates&lt;/li&gt;
&lt;li&gt;Port Setup: Configure the communication ports &lt;/li&gt;
&lt;li&gt;Service Restart: Reload the license server service to apply new settings&lt;/li&gt;
&lt;li&gt;Control Access Panel &amp;amp; Test: Once the server is configured, test the connection from the client machine to ensure it is successful.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the process is complete, be sure to regularly monitor and conduct continuous training. &lt;/p&gt;

&lt;p&gt;Check out the full breakdown here:&lt;br&gt;
&lt;a href="https://reprisesoftware.com/post/software-license-server-explained-enhancing-software-asset-management?utm_source=reddit&amp;amp;utm_medium=social&amp;amp;utm_campaign=july&amp;amp;utm_content=dev.to_post_1"&gt;https://reprisesoftware.com/post/software-license-server-explained-enhancing-software-asset-management?utm_source=reddit&amp;amp;utm_medium=social&amp;amp;utm_campaign=july&amp;amp;utm_content=dev.to_post_1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>systemadmin</category>
      <category>testing</category>
    </item>
    <item>
      <title>Sandbox Environments for Hosted Activation and RLM Cloud</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Tue, 21 Jul 2026 17:18:32 +0000</pubDate>
      <link>https://dev.to/reprise_software/sandbox-environments-for-hosted-activation-and-rlm-cloud-28mo</link>
      <guid>https://dev.to/reprise_software/sandbox-environments-for-hosted-activation-and-rlm-cloud-28mo</guid>
      <description>&lt;p&gt;Explore, test, and iterate, with sandbox environments. &lt;/p&gt;

&lt;p&gt;Simulate your real-world licensing setup without the risk, through an isolated environment that gives you total freedom to experiment. &lt;/p&gt;

&lt;p&gt;So what makes a sandbox environment so great? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allows you to test without breaking production or affecting end-users&lt;/li&gt;
&lt;li&gt;Try API calls, test error handling, and simulate edge cases without stress&lt;/li&gt;
&lt;li&gt;Experiment with your licensing structure by evaluating delivery workflows and simulating renewals and expirations&lt;/li&gt;
&lt;li&gt;Train your newest developers, product managers, or support engineers on the platform&lt;/li&gt;
&lt;li&gt;Eliminate bottlenecks by testing, learning and being able to deliver with confidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your a Reprise customer using Hosted Activation and RLM Cloud you have access to this environment today. Learn more about how a sandbox could be beneficial to you: &lt;a href="https://reprisesoftware.com/post/welcome-to-your-new-activation-playground-reprise-launches-sandbox-environments-for-hosted-activation-and-rlm-cloud?utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_campaign=july&amp;amp;utm_content=dev.to_post_2"&gt;https://reprisesoftware.com/post/welcome-to-your-new-activation-playground-reprise-launches-sandbox-environments-for-hosted-activation-and-rlm-cloud?utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_campaign=july&amp;amp;utm_content=dev.to_post_2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>webdev</category>
      <category>saas</category>
    </item>
    <item>
      <title>Using SSL Certificates (HTTPS) with RLM</title>
      <dc:creator>Reprise Software</dc:creator>
      <pubDate>Mon, 13 Jul 2026 18:05:41 +0000</pubDate>
      <link>https://dev.to/reprise_software/using-ssl-certificates-https-with-rlm-439j</link>
      <guid>https://dev.to/reprise_software/using-ssl-certificates-https-with-rlm-439j</guid>
      <description>&lt;p&gt;License administrators are now able to run the RLM web server with SSL certificates, allowing for increased protection though third party identification via web server. &lt;/p&gt;

&lt;p&gt;To implement SSL certificates you can instruct RLM to use HTTPS during startup with the command parameters -sslcert and -sslpriv. But note that certificate files cannot be used if password protected. &lt;/p&gt;

&lt;p&gt;Example code: rlm ‑sslcert /path/to/cert.pem ‑sslpriv /path/to/privkey.pem&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I create an SSL Certificate?&lt;/strong&gt;&lt;br&gt;
There are many ways that you can procure SSL certificates, here are 3 options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Purchase it from a certificate provider. These types of certificates are trusted more by OS and browsers.&lt;/li&gt;
&lt;li&gt;Free Services like Let’s Encrypt will provide SSL certificates. &lt;/li&gt;
&lt;li&gt;Create and generate your own. But be warned these self-signed certificates are not trusted by OS or browsers and will display warning messages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Can’t connect to Web Server after implementing SSL Certificates?&lt;/strong&gt;&lt;br&gt;
Make sure your connecting your RLM server via HTTP. Your URLs should look like:&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://hostname:%5Bport-number%5D" rel="noopener noreferrer"&gt;https://hostname:[port-number]&lt;/a&gt;&lt;br&gt;
-&lt;a href="https://ip-address:%5Bport-number%5D" rel="noopener noreferrer"&gt;https://ip-address:[port-number]&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Got more questions? Check out our article that guides you through the process: &lt;a href="https://reprisesoftware.com/knowledge-base/using-ssl-certificates-https-with-rlm?utm_source=dev.to&amp;amp;utm_medium=social&amp;amp;utm_campaign=july&amp;amp;utm_content=dev.to_post_3"&gt;Using SSL Certificates (HTTPS) with RLM&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>saas</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
