我正在帮助设计一个需要在服务器上安全地传输和存储文件的应用程序。该应用程序将使用C#编写,但该服务器是基于Linux的。我应该使用什么协议来传输和存储这些文件,最大为2 GB?
我已经阅读了一些sftp和ssh。这些会有什么好处吗?
答案 0 :(得分:2)
如果您想要使用最少的组件轻松安全地传输BIG文件,通常需要使用FTPES,也称为 FTP通过显式SSL ,有时也称为“FTPS”或“FTP-ES”。这是唯一一个纯.NET方法支持的版本,不需要第三方插件。
使用SFTP或FTP超过SSH,您将不得不在FTP和您的客户之间手动交换密钥。您还需要第三方库来实现它,因为.NET没有SFTP的内置功能。
如果您想编写客户端以使用FTPES,您只需使用FtpWebRequest并设置EnableSSL to true即可。
应避免的事项:
请勿通过Implicit SSL使用FTP。它已被弃用了 在这一点上多年,应该被认为是过时的。
不要只是PGP加密了 文件,然后通过普通的旧FTP传输它们。使用普通的旧FTP, 所有用户名和密码都以明文形式发送 轻松允许攻击者至少拦截您加密的PGP 文件。