使用WinSCP .NET程序集通过FTPS(安全)发送文件

时间:2017-05-03 17:54:51

标签: c# ftp winscp ftps winscp-net

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

我一直在查看他们的文档,对TlsHostCertificateFingerprintTlsClientCertificatePath等某些方面并不十分清楚。

我已经能够通过FTP和SFTP发送文件没有任何问题,但这一切都让我不知所措。

1 个答案:

答案 0 :(得分:6)

如果您有FTP代码,那么您需要添加以连接到行为良好的FTPS(FTP over 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。这实际上就是我如何获得上述代码。