-
Notifications
You must be signed in to change notification settings - Fork 213
[DRAFT] Support for SFTP #3697
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[DRAFT] Support for SFTP #3697
Conversation
Sorry about the delay. I have been working on testing the client and handling exceptions (essentially dogfooding the SFTP client to myself via our implementation). I want to keep the debugging page - since the connections can be finicky. Here is a list of the objects and their intended functionality:
I have included mock implementations of SFTP Client and SFTP File. Currently I'm quite happy with the implementation. It does as I expect. For future work, I would like to add HostKey fingerprinting which would add the ability for the user to check if the server had the correct hostkey. However, I can live without it for now. One thing I may need is the functionality to disable SFTP connections. |
Yes, I'll get to this soon! Promise. We're a bit low on capacity these weeks due to events, but from mid next week, we should be back to normal operations! Hang in there 😊 |
Summary
I have added a module for handling SFTP connections directly from Business Central.

This requires a SFTP service. A raspberry pi on the local network is sufficent for testing, but Azure Blob Storage can also provides a testing scenario.
Work Item(s)
Fixes #3686
DLL install process
https://www.nuget.org/packages/ssh.net/
https://www.nuget.org/packages/BouncyCastle.Cryptography/
lib\net8.0\Renci.SshNet.dll
lib\net6.0\BouncyCastle.Cryptography.dll
Add-Ins
-folder and in one of theal.assemblyProbingPaths
.My internal checklist for this PR:
app.json
to reflect the moduleRemove SFTP Client debugging pageAction<ulong>? downloadCallback = null
is tricky to make in Business Central dotnet integration).Fixes AB#351397