Add support for custom encryption providers (e.g., Azure Key Vault)
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?
This should already be possible with .NET Standard 2.0 and .NET 4.6/4.7/4.8 editions of Rebex File Server. You can 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.