Version 2017 R4: Virtual file systems in Rebex File Server

  |   Lukas Pokorny

Virtual file systems in Rebex File Server

Rebex File Server now features a rich custom file system provider API. This can be used to implement virtual file systems, or custom file systems that store data in a database, in the cloud, or elsewhere. Additionally, the built-in mount-capable virtual file system provider makes it possible to construct virtual file systems composed from multiple unrelated providers:

// create an instance of mount-capable file system provider
var virtualFS = new MountCapableFileSystemProvider();

// create a read-write instance of the local file system provider
var homeFS = new LocalFileSystemProvider(@"c:\data\users\user01", FileSystemType.ReadWrite);  
virtualFS.Mount("/home/user01", homeFS);

// create a read-only instance of the local file system provider
var publicFS = new LocalFileSystemProvider(@"c:\data\public", FileSystemType.ReadOnly);  
virtualFS.Mount("/public", publicFS);

// use the mount-capable file system provider as server user's virtual file system
user01.SetFileSystem(virtualFS);  
...

Support for CNG Key Storage Providers

Rebex Certificate class now fully supports RSA, DSA and ECDSA private keys stored in Windows CNG Key Storage Providers.

Native support for Brainpool (P-256 R1, P-384 R1, P-512 R1) and secp256k1 elliptic curves on Windows 10

Windows 10 (and Windows Server 2016) added native support for additional Elliptic Curve DSA (ECDSA) / Elliptic Curve Diffie-Hellman (ECDH) curves including secp256k1, Brainpool P-256 R1, P-384 R1 and P-512 R1, and Rebex classes can take advantage of them now (in addition to NIST P-256/P-384/P-521 curves).

Brainpool curves have already been supported by our TLS/SSL library and can be used with the following ciphers:

  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  • TLS_ECDHE_RSA_WITH_RC4_128_SHA

For earlier Windows and other operating systems, Brainpool curves are available through external plugins.

And more...

For a complete list of changes in 2017 R4, see the release history.

Showcase your application on Rebex.Net

Have you created an interesting application using Rebex components? Would you like to share your development experience with the world? To include your app in our App Showcase, please contact us at support@rebex.net.