Skip to content

TrueCrypt 7.1a on macOS 10.14 Mojave

Even though development on TrueCrypt has ended, I still use it on both Windows and macOS computers. While Truecrypt 7.1a works without any issues on Windows 10, it has two issues on macOS 10.14 Mojave.

Note: Truecrypt 7.1a is the last version to support the write function; Truecrypt 7.2 is read-only.

Update: Check out my post on how to Migrate TrueCrypt to VeraCrypt on macOS.

Cannot Install TrueCrypt

When attempting to install TrueCrypt 7.1a on macOS 10.10 Yosemite and later versions (including macOS 10.14 Mojave), the installer will fail with an error message, “TrueCrypt requires Mac OS X 10.4 or later”.

The cause is a version check that no longer works starting with Yosemite. The workaround is to remove that version check:

  1. Open the “TrueCrypt 7.1a Mac OS X.dmg” image.
  2. Copy the “TrueCrypt 7.1a.mpkg” file to your desktop (or other folder).
  3. Right-click on the copied file and select “Show Package Contents”.
  4. Open the Contents folder.
  5. Edit the “distribution.dist” file and remove the contents of the “pm_install_check” function (lines 13 thru 18):
    12 function pm_install_check() {
    13   if(!(system.version.ProductVersion >= '10.4.0')) {
    14     my.result.title = 'Error';
    15     my.result.message = 'TrueCrypt requires Mac OS X 10.4 or later.';
    16     my.result.type = 'Fatal';
    17     return false;
    18   }
    19   return true;
    20 }

    The result will be:

    12 function pm_install_check() {
    19   return true;
    20 }
  6. Save the changes to the file.

Run the modified “TrueCrypt 7.1a.mpkg” and the installation should proceed without a version error.

OSXFUSE Mount Error

When attempting to mount a file or volume for the first time, Truecrypt will fail with an error, “the OSXFUSE file system is not available”.

OSXFUSE (currently known as “FUSE for macOS”) extends macOS’s native file handling capabilities via third-party file systems, such as Truecrypt. Beginning with macOS 10.13 High Sierra, macOS requires the user’s approval before loading newly-installed third-party kernel extensions (including third-party file systems).

Usually, the user is prompted to open the “Security & Privacy” settings to allow the blocked software in question to load. Unfortunately, this does not always happen automatically for TrueCrypt.

The workaround is to manually force the user approval request to appear:

  1. Mount a file or volume in TrueCrypt. Get the OSXFUSE error.
  2. Open Settings, “Security & Privacy”, and the General tab.
  3. Look for a message, with text like “System software from developer ‘Legacy Developer: GitHub’ was blocked from loading”, near the bottom and click the Allow button.
  4. If you do not see the message, do the following:
    1. Open the Terminal application and type the following to manually load the FUSE file system extension:
      sudo kextutil -v /Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext
    2. Check “Security & Privacy” to see if the message is visible and if so, click the Allow button.
    3. If you still don’t see the message, reboot and repeat starting from step 1.
  5. Attempt to mount a file or volume again.

Subsequent TrueCrypt mount operations will no longer require user approval.

Some info derived from:
truecrypt 7.1a requires Mac OS X 10.4 or later on Yosemite 10.10
Truecrypt 7.1a provided OSXFUSE gives error OSXFUSE file system is not available (71)
Unable to load kext on High Sierra (10.13) #777

7 Comments

  1. rehmke

    Have you tried to use TrueCrypt 7.1a with Catalina?

    • Chanh

      Not yet. I’m not ready to give up 32bit applications. When I do try TrueCrypt with Catalina, I will update this post or write a new one.

      Update: macOS 10.15 Catalina is 64-bit only and unfortunately, TrueCrypt 7.1a does not support 64-bit macOS. As a result, I had to switch to using VeraCrypt which is backward compatible with TrueCrypt. Check out my post on how to Migrate TrueCrypt to VeraCrypt on macOS.

  2. Albert25

    Do you know of any multi-platform alternatives to Truecrypt? I’m also still using it to store some stuff in an encrypted volume, which I can then access on Linux, Windows and Mac. But if Truecrypt is not developed any more, it will eventually be necessary to find an alternative. When I last tried Veracrypt a few years ago, it didn’t support what I needed (can’t remember what; maybe an OS I use, or the command-line options I need?).
    What is it that keeps you from switching to Veracrypt?

    • Chanh

      Hi Albert,

      I kept using TrueCrypt, instead of switching to another solution, because it worked for my needs and there was nothing seriously wrong with it. I am okay with using software that no longer has active development if the software continues to be safe and effective.

      Having said that, I am about to switch to VeraCrypt. The reason is that macOS Catalina only supports 64-bit applications so TrueCrypt (which is 32-bit) is no longer supported. I choose VeraCrypt to migrate to because it is the closest in looks and functionality to TrueCrypt.

      I will post my experience with VeraCrypt once I’m done migrating. (Update: Check out my post on how to Migrate TrueCrypt to VeraCrypt on macOS.)

      Regards, Chanh

  3. kin2key

    Getting the following error message when manually trying to manually load FUSE file system extension:

    Defaulting to kernel file ‘/System/Library/Kernels/kernel’
    Error making temporary directory: 1
    Memory allocation failure.
    Unable to stage kext (/Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext) to secure location.

    Have rebooted but still same message. Any suggestions would be greatly appreciated.

    • bibbli

      I ran into this and realized the security update was the problem. I had to reinstall mojave (all my files and apps remained in place), then ran the sudo text above without issue.

      • Chanh

        Thanks for providing the solution!

Leave a Reply

Your email address will not be published. Required fields are marked *