We are no longer sure that WebDAV is still relevant. We recently released a new HTTPS/HTTP client component (see http://www.rebex.net/https/ for details) and WebDAV would be a relatively simple extension on top of that. But it looks like WebDAV is rarely used now – it has been superseded by various REST APIs, so perhaps that’s what we should look into. What do you think?

AT the moment you can't add special attributes like the file movement status ie Uploaded, downloaded, ready to download etc.
If you wish to do this you have use a custom command(which is better than nothing)

I'd like to be able to encrypt SSH traffic in the FileServer using keys I store and maintain in Azure Key Vault. The problem is, FileServer seems to want to do the encryption itself, locally, and I can't export a private key from Key Vault for that purpose. Is it possible to add the ability to have FileServer call out to a custom function to do the encryption?

A disclaimer: in SSH, encryption keys are never stored and maintained. A new set of keys is negotiated and derived for each session as prescribed by the SSH protocol. The only secret you need to store is the server’s private key, but this is used to authenticate the server to the client, not to encrypt the SSH traffic. In the rest of my response, I will assume what you would like to do is to store the server’s private key(s) in Azure Key Vault.

Rebex File Server can already utilize private keys managed by Windows key providers via .NET’s AsymmetricAlgorihm classes such as RSACryptoServiceProvider class, either via X509Certificate2 object’s PrivateKey property or directly. See https://rebex.net/file-server/features/private-keys.aspx#asymmetric-algorithm-keys for information. I’m not sure it’s possible to access private keys stored in Azure Key Vault this way, but from what I have seen it looks like this is not the case.

However, with .NET Standard edition of Rebex File Server (or the forthcoming .NET 4.6/4.7 edition), you could implement a custom RSA class that provides the SignHash(byte[] hash, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding) method which uses Azure Key Vault to perform the operation, and pass that to SshPrivateKey constructor. (This was not possible in previous version of .NET because the base RSA class lacked the appropriate SignHash method.) If this is what you need, please contact us at support@rebex.net and we will help you make it work.

A disclaimer: in SSH, encryption keys are never stored and maintained. A new set of keys is negotiated and derived for each session as prescribed by the SSH protocol. The only secret you need to store is the server’s private key, but this is used to authenticate the server to the client, not to encrypt the SSH traffic. In the rest of my response, I will assume what you would like to do is to store the server’s private key(s) in Azure Key Vault.

Rebex File Server can already utilize private keys managed by Windows key providers via .NET’s AsymmetricAlgorihm classes such as RSACryptoServiceProvider class, either via X509Certificate2 object’s PrivateKey property or directly. See https://rebex.net/file-server/features/private-keys.aspx#asymmetric-algorithm-keys for information. I’m not sure it’s possible to access private keys stored in Azure Key Vault this way, but from what I have seen it looks like this is not the case.

Could we have an interface for mail-client classes (Imap, Pop3...) that has methods/properties like Connect, Settings, GetMessageList etc. Same for some of the related objects Pop3MessageInfo vs. ImapMessageInfo etc...

It’s true that many of the methods/properties in IMAP/POP3/EWS are equivalent, but there is not exactly a 1:1 match there – the three protocols are very different, which means the usability of a common interface would be quite low. Basically, it would be a unified API for IMAP/POP3/EWS that look just like POP3.