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
cryptlib [2019/03/10 10:41] g00r00cryptlib [2023/01/24 11:05] (current) 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
 +
 +Mirror of 3.4.3.1: http://www.mysticbbs.com/downloads/cl3431.zip
  
 Mirror of 3.4.4.1: http://www.mysticbbs.com/downloads/cl3441.zip Mirror of 3.4.4.1: http://www.mysticbbs.com/downloads/cl3441.zip
  
-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.5.0: http://www.mysticbbs.com/downloads/cl345.zip
- +
-Older version: http://www.mysticbbs.com/downloads/cl3431.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 30: 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. 
 + 
 +=== Installing GCC ===
  
 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:
-  whereis gcc+  gcc -v 
 +   
 +If GCC is installed you should see a bunch of stuff printed to the screen, including a version number such as  
 +"gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)".
  
-You should see several locations (like) +If you get no output from gcc then you need to install it.  Using a terminal do:
-  gcc: /usr/bin/gcc /usr/lib/gcc /usr/bin/X11/gcc /usr/share/man/man1/gcc.1.gz +
- +
-If you get no locations you need to install it, using a terminal do:+
  
   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.+=== Compiling CryptLib v3.4.5 Notes ===
  
-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 "-aoption of unzip.  **If this step is skipped, the source code will not properly compile**.+CryptLib 3.4.5 requires GCC version 9.x or less because of changes to the Makefile system in newer versions which caused the compilation to fail.  Use the following sections to compile CryptLib based on the version you see when typing "gcc -v".
  
-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 cl3441.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 cl3441.zip is located + 
-  * Type "unzip -a cl3441.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.4+  * 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**.
cryptlib.1552232477.txt.gz · Last modified: 2019/03/10 10:41 by g00r00

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki