User Tools

Site Tools


cryptlib

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
cryptlib [2018/12/28 17:07] – [Downloading Cryptlib] g00r00cryptlib [2023/01/24 10:56] – [Linux] g00r00
Line 3: Line 3:
 Mystic BBS uses Cryptlib in order to perform the encryption for SSH and SSL-based servers and clients.  This library will be automatically detected on server startup, or whenever an outbound SSH menu action is executed from the BBS itself. Mystic BBS uses Cryptlib in order to perform the encryption for SSH and SSL-based servers and clients.  This library will be automatically detected on server startup, or whenever an outbound SSH menu action is executed from the BBS itself.
  
-The following sections outline how to install Cryptlib for each particular operating system.+The following sections outline how to install Cryptlib for each particular operating system.  Find your operating system in the headings below and follow the instructions (if any) to install Cryptlib.  Some versions and OS combinations (for example 1.12 A48 for Windows) should simply work out of the box with no additional steps, others will require compilation and installation of Cryptlib. 
 + 
 +Once Cryptlib is installed, most servers will have an SSL setting inside the System Configuration > Servers > Configure Servers editor.  You can create new servers or enable/disable servers already created within the editor.
  
 ==== Downloading Cryptlib ==== ==== Downloading Cryptlib ====
  
-Download the latest version of Cryptlib from the following link below. It is important that the latest official version is used with Mystic, Using older / different versions may run you into security vulnerabilities or any +If you are running an OS/version that needs to compile/install Cryptlib you can find it at the following links below. 
-number of other issues.+ 
 +There have been some reported mixed experiences lately interchanging different versions with different operating systems and Mystic.  For 64-bit Unix-based systems like Ubuntu the latest 3.4.5 release seems to be working well as reported by users.  For 32-bit Unix-based systems, at least one person has said that 3.4.5 did not work and they had to use 3.4.3.1.  For these reasons, several releases will be linked to below. 
 + 
 +The latest stable version is 3.4.5 at the time of this writing and has been tested in Linux (64-bit) and ships with Windows automatically as of 1.12 A48 (SSL should work out of the box for Windows).  Future version compatibility is unknown, but a link is provided to the home page for Cryptlib that could have a newer version.  As it stands 3.4.5 is the latest tested version that is compatible with Mystic, newer versions may or may not work. 
 + 
 +Download the versions of Cryptlib from the following links below:
  
 Website: https://www.cs.auckland.ac.nz/~pgut001/cryptlib/download.html Website: https://www.cs.auckland.ac.nz/~pgut001/cryptlib/download.html
  
-There seems to be an issue with the latest CryptLib with 32-bit Linux operating systems that will cause Mystic to crash upon startup If you experience this problem it may be worth trying an older version that can be downloaded from the Mystic website:+Mirror of 3.4.3.1http://www.mysticbbs.com/downloads/cl3431.zip
  
-Older version: http://www.mysticbbs.com/downloads/cl3431.zip+Mirror of 3.4.4.1: http://www.mysticbbs.com/downloads/cl3441.zip 
 + 
 +Mirror of 3.4.5.0: http://www.mysticbbs.com/downloads/cl345.zip
  
 ==== Windows ==== ==== Windows ====
  
-In Windows, Mystic looks for the file "cl32.dll" or "cl64.dll" depending on if the 32-bit or 64-bit version of Mystic is being used.+In Windows, Mystic looks for the file "cl32.dll" or "cl64.dll" depending on if the 32-bit or 64-bit version of Mystic is being used.  As of the 1.12 A48 release Mystic will come with these files included so you do not have to download them.  However, if issues should arise you can also find these files in the links within the downloads section.
  
-Luckily the archive downloaded in the above section already has these files compiled and ready to go within the archive.  To install Cryptlib then is to simply copy the appropriate file into your root Mystic BBS directory or somewhere in the library path so that Mystic can detect it. +In addition to the .DLL file, Cryptlib may have a dependency on the Visual C++ runtime which may or may not need to be installed on your particular system.  This depends on how the .DLL files themselves were compiled.  If you have the appropriate .DLL file in the root Mystic BBS directory but you still get a message on server startup that says Cryptlib is not installed, then you likely need to install a Microsoft runtime that is required by Cryptlib (for example):
- +
-In addition to the .DLL file, Cryptlib has a dependency on the Visual C++ runtime which may or may not need to be installed on your particular system.  If you have the appropriate .DLL file in the root Mystic BBS directory but you still get a message on server startup that says Cryptlib is not installed, then you likely need to install this runtime:+
  
 https://www.microsoft.com/en-us/download/details.aspx?id=48145 https://www.microsoft.com/en-us/download/details.aspx?id=48145
Line 28: Line 35:
 ==== Linux ==== ==== Linux ====
  
-In Linux, Mystic looks for Cryptlib in the "libcl.so" file, which must be created by compiling the source code.+In Linux, Mystic looks for Cryptlib in the "libcl.so" file, which is created by compiling the source code. 
 + 
 +There are some pre-compiled versions available at the following link that may work if you copy it to your /usr/lib  directory and delete the ssl.cert file from Mystic's data folder if one exists.  It is suggested that you compile your own version though using the instructions here. 
 + 
 +Pre-compiled: http://www.mysticbbs.com/downloads/cryptlib/ 
 + 
 +If you choose to attempt to compile your own from source code, you can use these instructions as a guide:
  
 For many installs of Linux the compiler setup is not included by default, check by typing in a terminal: For many installs of Linux the compiler setup is not included by default, check by typing in a terminal:
Line 39: Line 52:
  
   sudo apt-get update   sudo apt-get update
-  sudo apt-get install build-essential manpages-dev+  sudo apt-get install build-essential
  
 Then check again with 'whereis gcc' to make sure. Then check again with 'whereis gcc' to make sure.
  
-The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the Linux machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Linux format.  This can be done by using the "-a" option of unzip.  **If this step is skipped, the source code will not properly compile**.+Once you have gcc installed execute "gcc -v" to see the version.  Follow the instructions below depending on the version of gcc that you have installed.
  
-The following steps can be executed to compile and install Cryptlib:+==== Compiling for Linux using GCC 9.x and lower ====
  
-  * Download the source code .zip into its own directory (lets say /cryptlib and cl3431.zip for this example) +The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the Linux machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Linux format.  **This can be done by using the "-a" option of unzip.  If this step is skipped, the source code will not properly compile**. 
-  * Switch to the /cryptlib directory where the cl3431.zip is located + 
-  * Type "unzip -a cl3431.zip" to extract the source code ZIP into the /cryptlib directory+The following steps can be executed to compile and install Cryptlib for installations using GCC 9.x and below: 
 + 
 +  * Download the source code .zip into its own directory (lets say /cryptlib and cl345.zip for this example) 
 +  * Switch to the /cryptlib directory where the cl345.zip is located 
 +  * Type "unzip -a cl345.zip" to extract the source code ZIP into the /cryptlib directory
   * Type "sudo make shared"   * Type "sudo make shared"
-  * Type "ls libcl*.so*" to see the name of the generated library.  For example: libcl.so.3.4.3+  * Type "ls libcl*.so*" to see the name of the generated library.  For example: libcl.so.3.4.5
   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:
-  * "sudo mv libcl.so.3.4./usr/lib/libcl.so"+  * "sudo mv libcl.so.3.4./usr/lib/libcl.so"
  
 You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic! You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic!
  
-==== Macintosh OS X =====+=== Compiling for Linux using GCC 10.x and higher ==== 
 + 
 +Newer Linux distributions are now shipping with GCC 11 which has depreciated some functions used in the Makefile for Cryptlib 3.4.5 causing the compile to fail.  To work around this, either the source code needs to be updated, or a copy of GCC 9 must be installed in order to compile Cryptlib. 
 + 
 +These steps outline the instructions for compiling by installing an older gcc rather than making any changes to the actual source code.  Thanks to Alisha Stutz of swissIRC BBS for the steps below used to compile Cryptlib 3.4.5 on Ubuntu 22.04 LTS: 
 + 
 +  sudo apt-get update 
 +  sudo apt-get install build-essential 
 +  sudo apt-get install gcc-9 g++-9 
 +  sudo apt-get install zip unzip 
 +  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 
 +  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9 
 +  wget http://www.mysticbbs.com/downloads/cl345.zip 
 +  mkdir cl345 
 +  cd cl345 
 +  unzip -ax ../cl345.zip 
 +  sudo make shared 
 +  sudo mv libcl.so.3.4.5 /usr/lib/libcl.so 
 +  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11 
 +  sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11 
 + 
 +If at this point you still have MIS running you must stop and restart it.  If you previously had attempted to install Cryptlib you may need to delete your ssl.cert when MIS is shutdown: 
 + 
 +  sudo rm /mystic/data/ssl.cert 
 + 
 +==== Apple macOS (Intel) =====
  
-In OS X, Mystic looks for Cryptlib in the "libcl.dylib" file, which must be created by compiling the source code.+In macOS, Mystic looks for Cryptlib in the "libcl.dylib" file, which must be created by compiling the source code.
  
 The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the OS X machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Unix format.  This can be done by using the "-a" option of unzip.  **If this step is skipped, the source code will not properly compile**. The source is contained in the above download section.  Once the file has been downloaded, it must be extracted into its own directory on the OS X machine.  The archive has source files that are stored in the Windows format, so it must be extracted and converted to Unix format.  This can be done by using the "-a" option of unzip.  **If this step is skipped, the source code will not properly compile**.
Line 65: Line 107:
 The following steps can be executed to compile and install Cryptlib: The following steps can be executed to compile and install Cryptlib:
  
-  * Download the source code .zip into its own directory (lets say /cryptlib and cl3431.zip for this example) +  * Download the source code .zip into its own directory (lets say /cryptlib and cl3441.zip for this example) 
-  * Switch to the /cryptlib directory where the cl3431.zip is located +  * Switch to the /cryptlib directory where the cl3441.zip is located 
-  * Type "unzip -a cl3431.zip" to extract the source code ZIP into the /cryptlib directory+  * Type "unzip -a cl3441.zip" to extract the source code ZIP into the /cryptlib directory
   * Type "sudo make shared"   * Type "sudo make shared"
-  * Type "ls libcl*.dylib*" to see the name of the generated library.  For example: libcl.3.4.3.dylib+  * Type "ls libcl*.dylib*" to see the name of the generated library.  For example: libcl.3.4.4.dylib
   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:   * Move the library into the library path and rename it so that Mystic will find it.  Execute the following:
-  * "sudo mv libcl.3.4.3.dylib /usr/lib/libcl.dylib"+  * "sudo mv libcl.3.4.4.dylib /usr/lib/libcl.dylib"
  
 You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic! You can now delete the /cryptlib directory if you wish.  The library is installed and read to be used by Mystic!
  
cryptlib.txt · Last modified: 2023/01/24 11:05 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki