com.github.cloudfiles.crypt.fs
Members list
Packages
Type members
Classlikes
A data class combining a set of properties that is required for a file system applying cryptographic operations.
A data class combining a set of properties that is required for a file system applying cryptographic operations.
The properties in this class mainly define the cryptographic algorithm to use and the keys for encryption and decryption.
Value parameters
- algorithm
-
the cryptographic algorithm
- keyDecrypt
-
the key for decryption
- keyEncrypt
-
the key for encryption
- secRandom
-
the source for randomness
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
A file system extension that adds support for encrypting the content of files to another file system.
A file system extension that adds support for encrypting the content of files to another file system.
When uploading a file to this file system, the content source for the file is transformed to encrypt the data using the configured CryptAlgorithm and key; so only encrypted data is stored in the underlying file system. Analogously, on download of a file, the source returned by this file system performs decryption transparently.
Type parameters
- FILE
-
the type to represent a file
- FOLDER
-
the type to represent a folder
- ID
-
the type of element IDs
Value parameters
- config
-
the cryptography-related configuration
- delegate
-
the underlying file system
Attributes
- Supertypes
-
trait DelegateFileSystem[ID, FILE, FOLDER]trait ExtensibleFileSystem[ID, FILE, FOLDER, FolderContent[ID, FILE, FOLDER]]trait FileSystem[ID, FILE, FOLDER, FolderContent[ID, FILE, FOLDER]]trait AutoCloseableclass Objecttrait Matchableclass AnyShow all
A data class representing the configuration of CryptNamesFileSystem.
A data class representing the configuration of CryptNamesFileSystem.
The configuration consists of properties related to the actual encryption plus additional properties to control the behavior of the file system.
Value parameters
- cryptConfig
-
the cryptography-related configuration
- ignoreUnencrypted
-
flag whether elements with unencrypted names should be ignored; if '''false''', the file system expects that all element names are encrypted and properly encoded; a name not holding this assumption causes an exception; if '''true''', such elements are ignored, e.g. when loading the content of a folder or resolving paths
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CryptNamesFileSystem.type
A file system extension that automatically encrypts the names of files and folders stored in an underlying file system.
A file system extension that automatically encrypts the names of files and folders stored in an underlying file system.
When new files or folders are created, their names are encrypted using the configured CryptAlgorithm and encryption key. Analogously, when files or folders are resolved, or the content of a folder is requested, the names are again decrypted. When used together with CryptContentFileSystem both the names and content of files gets encrypted, which is a rather secure storage form.
For file systems with encrypted names, resolving a path becomes difficult, especially if encrypting a string twice with the algorithm in use does not necessarily yield the same result. To be flexible, such operations are delegated to a PathResolver object, which can be passed to the constructor. It is then possible to choose a specific resolver implementation that fits the usage scheme of the file system best.
Type parameters
- FILE
-
the type to represent a file
- FOLDER
-
the type to represent a folder
- ID
-
the type of element IDs
Value parameters
- delegate
-
the underlying file system
- namesConfig
-
the configuration for this file system
- resolver
-
the object that handles path resolve operations
Attributes
- Companion
- object
- Supertypes
-
trait DelegateFileSystem[ID, FILE, FOLDER]trait ExtensibleFileSystem[ID, FILE, FOLDER, FolderContent[ID, FILE, FOLDER]]trait FileSystem[ID, FILE, FOLDER, FolderContent[ID, FILE, FOLDER]]trait AutoCloseableclass Objecttrait Matchableclass AnyShow all