Can cryptomator double encryption with another solution?

I would like to double encrypt my cloud storage with 1 first, and then the other.
Can cryptomator work with any other one?


I made a wordpress page about my trial:

will try to summarize my trial and errors at a user level.

It should work just fine so long as they are encrypting the files at separate times and you remember to decrypt them in the reserve order. It would seem pretty hard to mess up so long as neither app has a serious bug.

so far I have only tried 2 competitors of ctmt.

encxxx and goxxxx.

but they dont work together. (I use windows, and both of them, and indeed
ALL those use FUSE, are handicapped in windows, as FUSE is originally a linux/unix thing?)

when using encxxx as the out layer,
the config file of goxxx have to put in an unencrypted folder (cant put in 1st layer’s container).
Yet I think it’s the FUSE problem, the inner layer only see the outer layer as a 1GB drive with 512MB free
space. This make the inner layer only able to handle files of 512MB size…

if reverse, windows ver of encxxx cant change the location of .config file.
And again, the container wont mount if the .config is put inside outer layer’s container.
And thus this sucks again.

I am trying with ctmt, but ctmt v1.3x version will at first limit the file zise limit to 4GB.

so double encryption is not that easy.

The results are quite negative.

gocryxxx as outside, ctmt as inside <— dont work.

the ctmt cant mount.


21:27:41.686 [main] INFO org.cryptomator.launcher.Cryptomator - Starting Cryptomator 1.3.3 on Windows 7 6.1 (amd64)
21:27:42.005 [JavaFX Application Thread] INFO o.c.launcher.MainApplication - JavaFX application started.
21:27:42.064 [JavaFX Application Thread] INFO o.c.common.settings.SettingsProvider - Settings loaded from C:\Users\leot\AppData\Roaming\Cryptomator\settings.json
21:27:42.065 [JavaFX Application Thread] DEBUG org.cryptomator.logging.DebugMode - Debug mode initialized
21:27:42.068 [JavaFX Application Thread] DEBUG org.cryptomator.ui.l10n.Localization - Loaded localization default file: /localization/en.txt
21:27:42.068 [JavaFX Application Thread] DEBUG org.cryptomator.ui.l10n.Localization - Detected language “en” and region "US"
21:27:42.069 [JavaFX Application Thread] TRACE org.cryptomator.ui.l10n.Localization - Attempting to load localization from: /localization/en_US.txt
21:27:42.069 [JavaFX Application Thread] TRACE org.cryptomator.ui.l10n.Localization - Attempting to load localization from: /localization/en.txt
21:27:42.335 [JavaFX Application Thread] INFO org.cryptomator.jni.JniModule - loaded WinFunctions.dll
21:27:42.391 [JavaFX Application Thread] INFO org.eclipse.jetty.util.log - Logging initialized @-1ms to org.eclipse.jetty.util.log.Slf4jLog
21:27:42.418 [JavaFX Application Thread] INFO o.c.frontend.webdav.WebDavServer - Binding server socket to
21:27:42.430 [JavaFX Application Thread] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@76367e40{HTTP/1.1,[http/1.1]}{}
21:27:59.240 [JavaFX Application Thread] ERROR o.c.ui.controllers.UnlockController - Unlock failed for technical reasons.
java.nio.file.NoSuchFileException: R:\ctmt-w03
at sun.nio.fs.WindowsException.translateToIOException(
at sun.nio.fs.WindowsException.rethrowAsIOException(
at sun.nio.fs.WindowsException.rethrowAsIOException(
at sun.nio.fs.WindowsLinkSupport.getFinalPath(
at sun.nio.fs.WindowsFileStore.create(
at sun.nio.fs.WindowsFileSystemProvider.getFileStore(
at java.nio.file.Files.getFileStore(
at org.cryptomator.cryptofs.CryptoFileStore.lambda$new$0(
at org.cryptomator.cryptofs.UncheckedThrows$2.from(
at org.cryptomator.cryptofs.CryptoFileStore.(
at org.cryptomator.cryptofs.CryptoFileStore_Factory.get(
at org.cryptomator.cryptofs.CryptoFileStore_Factory.get(
at dagger.internal.DoubleCheck.get(
at org.cryptomator.cryptofs.CryptoFileSystemImpl_Factory.get(
at org.cryptomator.cryptofs.CryptoFileSystemImpl_Factory.get(
at dagger.internal.DoubleCheck.get(
at org.cryptomator.cryptofs.DaggerCryptoFileSystemProviderComponent$CryptoFileSystemComponentImpl.cryptoFileSystem(
at org.cryptomator.cryptofs.CryptoFileSystems.lambda$null$0(
at java.util.concurrent.ConcurrentHashMap.compute(
at org.cryptomator.cryptofs.CryptoFileSystems.lambda$create$1(
at org.cryptomator.cryptofs.UncheckedThrows$1.from(
at org.cryptomator.cryptofs.CryptoFileSystems.create(
at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(
at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(
at java.nio.file.FileSystems.newFileSystem(
at java.nio.file.FileSystems.newFileSystem(
at org.cryptomator.cryptofs.CryptoFileSystemProvider.newFileSystem(
at org.cryptomator.ui.model.Vault.unlockCryptoFileSystem(
at org.cryptomator.ui.model.Vault.lambda$getCryptoFileSystem$0(
at org.cryptomator.common.LazyInitializer.lambda$invokeFactoryIfNull$1(
at java.util.concurrent.atomic.AtomicReference.updateAndGet(
at org.cryptomator.common.LazyInitializer.initializeLazily(
at org.cryptomator.ui.model.Vault.getCryptoFileSystem(
at org.cryptomator.ui.model.Vault.unlock(
at org.cryptomator.ui.controllers.UnlockController.lambda$didClickUnlockButton$0(
at org.cryptomator.ui.util.AsyncTaskService.lambda$asyncTaskOf$0(
at org.cryptomator.ui.util.AsyncTaskService$AsyncTaskImpl.lambda$null$6(
at org.cryptomator.ui.util.AsyncTaskService.logExceptions(
at org.cryptomator.ui.util.AsyncTaskService.access$100(
at org.cryptomator.ui.util.AsyncTaskService$AsyncTaskImpl.lambda$run$7(
at java.util.concurrent.ThreadPoolExecutor.runWorker(
at java.util.concurrent.ThreadPoolExecutor$

As you see I failed in 3 combinations. It’s hard instead of what you think it is easy.

works however if ctmt is the outer layer, gocrxxx as the inner layer.

now limited by ctmt’s webdav of 4GB file size limit, and CPU intensive java.

not sure will still work if ctmt also change into FUSE usage…