Veracrypt on ARM

These are the steps I took to compile veracrypt on a Scaleway C1 (ARM) machine running Debian Stretch:

  1. Dowloaded and extracted wxWidgets veracrypt’s GitHub repository:
    wget https://github.com/veracrypt/VeraCrypt/archive/VeraCrypt_1.21.tar.gz
    tar xzvf VeraCrypt_1.21.tar.gz
  2. Dowloaded and extracted wxWidgets from https://www.wxwidgets.org/downloads:
    wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidgets-3.1.0.tar.bz2
    tar xjvfv3.1.0/wxWidgets-3.1.0.tar.bz2
  3. Installed a couple of dependencies:
     sudo apt install build-essential libfuse-dev pkg-config
  4. Compiled wxWidget (console only):
    cd /path/to/VeraCrypt-VeraCrypt_1.21/src
    make -j 4 NOGUI=1 WXSTATIC=1 WX_ROOT=/path/to/wxWidgets-3.1.0 wxbuild
    make -j 4 NOGUI=1 WXSTATIC=1
  5. The executable is built in the directory called ‘Main’
Advertisements

Easy way to activate unlimited JCE in java

Since java 1.8.0_152, it has become very easy to activate JCE with unlimited strength. Simply uncomment the following line in /path/to/jdk/jre/lib/security/java.security:

crypto.policy=unlimited

Java: test JCE strength

To quickly test if JCE with unlimited strength is activated on your java installation, run this:

import javax.crypto.Cipher;

class JceTest {
  public static void main(String[] args) {
    try {
      int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
      System.out.printf("maxKeyLen=%d%n", maxKeyLen);
      if(maxKeyLen == 2147483647) {
        System.out.println("JCE with unlimited strength activated.");
      } else {
        System.out.println("JCE with unlimited strength NOT activated!");
      }
    } catch (Exception e){
      System.out.println("Sad world :(");
    }
  }
}