2017-05-03 270 views
1

使用FTPS(安全)将文件发送到使用WinSCP(.NET程序集)的服务器需要什么?使用WinSCP .NET程序集通过FTPS(安全)发送文件

我一直在寻找他们的文档,并没有真正清楚某些方面,如TlsHostCertificateFingerprintTlsClientCertificatePath

我已经能够通过FTP和SFTP发送文件没有问题,但这整个事情只是逃避了我。

+1

您应该编辑您的问题,以包括您迄今为止所尝试的内容(即实际代码)以及发生的任何错误。一般来说,SSL/TLS具有多个可选的安全功能,根据服务器的配置方式,您可能不需要这些功能。客户端证书和主机证书指纹都属于该类别。 – RogerN

回答

4

如果你有FTP代码,你需要添加连接到一个乖巧FTPS(FTP通过TLS/SSL)服务器是设置SessionOptions.FtpSecure

// Set up session options 
SessionOptions sessionOptions = new SessionOptions 
{ 
    Protocol = Protocol.Ftp, 
    HostName = "ftp.example.com", 
    UserName = "username", 
    Password = "password", 
    // Enable FTPS in explicit mode, aka FTPES 
    FtpSecure = FtpSecure.Explicit, 
}; 

using (Session session = new Session()) 
{ 
    // Connect 
    session.Open(sessionOptions); 

    // Your code 
} 

的如果您的服务器证书未由受信任的授权机构签署,则仅需要TlsHostCertificateFingerprint

如果您的服务器需要使用客户端证书进行身份验证,则仅需要TlsClientCertificatePath


最简单的就是configure your session in WinSCP GUI并将它generate a code template你。这实际上是我得到上面的代码。