Virtualized file access in SecureBlackbox


Data security and transfer means that the data is taken from certain place, processed and stored somewhere else. While most people (and some component vendors) are accustomed to file operations, SecureBlackbox offers not one, but several approaches, all of them being more flexible than just files on the disk.

Stream-based file operations

SecureBlackbox doesn't require that you store any data on the disk. All functions of SecureBlackbox are built in the way that let you use generic Stream interface (see below). This means that you can keep data in memory (all platforms have in-memory stream class implementations) or even stream the real data as it comes (given that total data size is known).

Some methods (mainly in PKI classes) also accept raw data buffers but buffers are usually not enough for effective operations. So if you have data in memory block, you can store this block in memory stream and use Stream interface.

Stream interface is based on Stream class in .NET, in VCL it's TStream class. In ActiveX you use IStream interface. In Java, due to limitations of native Java streams we have introduced our own TElStream class hierarchy.

Custom handling of file access events

Server-side components, offered by SecureBlackbox, are quite low-level and very flexible. They don't access the file system directly when handling client requests. Instead they fire events telling your application to perform certain file or directory operations. And your code is free to handle such requests in the way you need. This means that your code can take data from in-memory file system or map requests to different directories on the disk (or on different disks) or even request the data from remote system (thus acting like the proxy).

File System Adapters

Sometimes stream operations are quite low-level for simple tasks of uploading one or several files (or even a directory tree). For this case, SecureBlackbox offers file-based operations – you give the component the path and mask of the file(s) to be processed. And even here SecureBlackbox offers more than other components. It accesses the file system via so-called File System Adapters. This lets you redirect file access as well.

Several adapters are included. There exists a straightforward disk adapter which accesses the file system and which lets you specify the base folder for such access to restrict file operations to certain directory and its subdirectories. This adapter is used when no other adapter is attached to the component. The source code of the disk adapter is available with FTPS Server sample project (in C#, Delphi and Java). You can use it as a basis for creation of more sophisticated adapters which would let you, for example, be notified about file access.

Solid File System

Another available adapter is SolFS adapter. Which, as the name suggests, works with SolFS, single-file virtual file system that keeps files in single container on the disk, in memory or across network. SolFS lets you separate data that belong to or should be accessible by different clients.

SolFS adapter is provided as an optional class in .NET and VCL editions (Java edition to come). To use this adapter you need to install SolFS application edition, then use the adapter class in \Classes\SolFS folder of SecureBlackbox installation.

Ready to get started?

Learn more about SecureBlackbox or download a free trial.

Download Now