Docker Image and Windows binaries

If you are able to run Docker containers, then you do not need to install anything. You just need to pull a client image from DockerHub. If you are using Windows, you don't have to install anything either - you can download portable Win32/Win64 binaries.

If you want to install the software as usual, then please read on.

Part I - Components installation

On Linux we need 3 base components to be present for Crypt::LE to be successfully installed - "make", "gcc" and OpenSSL development library. Your server may already have them installed, so you can try just installing Crypt::LE first as described in "Part II - Crypt::LE installation" and see if it succeeds.

On Windows we just need Perl (for example Strawberry Perl or ActiveState Perl). Strawberry Perl might be easier to work with, since we can use even the portable version of it, which does not require any installations or any admin rights.

In this section we will have a look at the worst case scenario - freshly installed systems without some or all required components. In addition to the 3 base components we will also be installing CPANminus (the modern installer of Perl modules) and a package that allows Perl modules to be installed into the user's own directory.

Example 1 - CentOS 7 (minimal)

We assume that you already have the network connection, so it will be possible to get the packages. If you don't, then see this quick guide to enabling networking on a newly installed CentOS 7. By default this installation has "make" present, but not much else. The following should be enough to install everything we need:

sudo yum install gcc openssl-devel perl-local-lib perl-App-cpanminus

Example 2 - Ubuntu 16.04 (server)

By default this installation is missing all 3 components. The following should be enough to install everything we need (it will be similar for Debian):

sudo apt-get install make gcc libssl-dev liblocal-lib-perl cpanminus

Example 3 - Windows

If you use Strawberry Perl, then CPANminus will be already pre-installed and you will only need to instatll Crypt::LE itself. It is enough to download the portable version of Strawberry Perl for your platform (64bit or less likely 32bit). Then just unzip it to the directory of your choice (say C:\Perl64\).

If you use ActiveState Perl, then after installing the Perl itself, you will need to install App-cpanminus (using 'ppm' - Perl Package Manager). Note that for business license users ActiveState offers more ppm packages (including Crypt-LE), so it could then be installed directly, without the need to install App-cpanminus.

Part II - Crypt::LE installation

If or when the base components are in place, we can proceed with Crypt::LE installation. With CentOS we will also need to install a Test::More library, which is a pre-requisite for some dependencies, but which is missing in a minimal installation. For clarity, we will use Test::More in the examples below, even though it is already installed on Ubuntu server by default.

You can use either CPANminus or CPAN to install Perl modules. I recommend CPANminus as the "modern" and more flexible installer. If you prefer using "classic" CPAN installer, you can use cpan -i Crypt::LE command. If you are running it for the very first time, it might ask some questions to configure itself - the default answers are usually quite safe to use, so you can accept those by pressing Enter.

Installation with CPANminus is generally simpler. You can usually get CPANminus as a package, as shown in "Part I". If the package is not available for your OS, you can still get it like this: curl -L | perl - --sudo App::cpanminus

Note: Neither installation nor usage of Crypt::LE requires any specific rights - everything can be done by a regular (non-root) user. Normally if you are installing it as a root, it will be available to all users on your system. If you install it as a particular user, then it will be available to that user only, but you will need to add a few variables to that user's environment. Below you will see examples for both these cases.

Example 1 - Installing for all users on Linux

If you want to install Crypt::LE with other Perl modules in system, making it available to all users, then you can just run the following command:

sudo cpanm Test::More Crypt::LE

Example 2 - Installing for the current user on Linux

If you prefer to install the modules locally into some directory (say "perl5") of the current user, then run the following command:

cpanm -l ~/perl5 Test::More Crypt::LE

Please note that when installing Crypt::LE locally for a user, you need to make sure that the directory containing the local Perl libraries (as in the example above, the "perl5" directory) is configured in the environment. You can do it by adding one of the following into .bash_profile or .bashrc file of the user. Either add:

eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"

Or manually configure the variables like this:

  PERL_MB_OPT='--install_base $HOME/perl5'; export PERL_MB_OPT;
  PERL5LIB="$HOME/perl5/lib/perl5"; export PERL5LIB;
  PATH="$HOME/perl5/bin:$PATH"; export PATH;

Example 3 - Installing for the current user on Windows (with Strawberry Perl portable edition)

Change to the directory when you unzipped Strawberry Perl (for example C:\Perl64\) and run portableshell.bat, which will open a command window.

At the moment of writing the logging module which is used by the client (Log::Log4perl) may fail one of the tests, even though it will work properly. So we install it first with --force option. Type:

cpanm --force Log::Log4perl

... and then:

cpanm Crypt::LE

Once the module installation is complete, you can either run client by typing 'le' while in the portableshell window (notice that it is just 'le', without an extension, since there will be an appropriate bat-file created). Alternatively, for example to run the client from Windows scheduler, you can call the script directly by passing its name to the portableshell, similar to:

C:\Perl64\portableshell C:\Perl64\perl\site\bin\

Please note that on Windows the client application needs to be of version 0.20 or better. The client can generate the CSR for you as part of the process or it can use the CSR you made elsewhere. In the latter case you may find this reference from DigiCert on creating CSR for different platforms useful.


Normally you should have no problems installing the software. However, in the unlikely event that installation fails, please double-check that the packages are indeed installed. First try "make --help" and "gcc --help" commands and see if they come up with any meaningful output, different from "command not found". Then check whether OpenSSL development library is installed. The SSL development package name differs depending on Linux distribution and it can be either "libssl-dev" or "openssl-devel".

If your server is running Debian or Ubuntu Linux, then run the following command (without quotes): "dpkg -s libssl-dev | grep -i status". If the package is installed, you should see something like "Status: install ok installed".

If your server is running Red Hat Enterprise / Fedora / Suse / CentOS Linux, then run the following command (without quotes): "rpm -qa | grep openssl-devel". If the package is installed, you should see something like "openssl-devel-1.0.1e-42.el6_7.4.i686". Otherwise nothing will be printed out.

If you are not sure what sort of Linux your server is running, then try the following command (without quotes): "cat /etc/*-release". You should see one of the names similar to listed above in the output.

If "make", "gcc" and the development library appear to be present, but installation still fails, you can try installing the development tools package.

For Ubuntu/Debian the command would be sudo apt-get install build-essential
For CentOS and similar systems: sudo yum groupinstall "Development Tools"

Note: If you are using some hosting or a device where the installation of any software does not seem possible, don't despair. If you have an access to the web server configuration or you have an option to add an SSL Certificate in your Control Panel, then you can use our FREE SSL Certificate Wizard to issue a certificate online, right in your browser. Learn more about this option.

Next: Usage