首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FTP连接问题-对端口990 -TLS使用FluentFTP

FTP连接问题-对端口990 -TLS使用FluentFTP
EN

Stack Overflow用户
提问于 2018-09-14 04:11:43
回答 2查看 2.2K关注 0票数 4

我正在尝试使用FluentFTP通过连接端口990 (TLS)的FTPS下载文件。

但是代码无法建立连接并显示异常,因为“根据验证过程,远程证书无效”。

当我手动使用FTP FTP工具时,FTP服务器连接正常(显示为通过FileZilla (隐式)连接)

代码语言:javascript
运行
复制
FtpClient fclient = new FtpClient(hostname, username, password); 
fclient.EncryptionMode = FtpEncryptionMode.Implicit;
fclient.SslProtocols = SslProtocols.Tls12; //Also tried with TLS1 and TLS
fclient.Port = 990;          
fclient.Connect();
EN

回答 2

Stack Overflow用户

发布于 2021-06-29 22:47:36

试试这个(取自FluentFTP的ConnectFTPSCertificate.cs示例)。最重要的部分是回调OnValidateCertificate

代码语言:javascript
运行
复制
public static async Task ConnectFTPSCertificateAsync() {
    var token = new CancellationToken();
    using (var conn = new FtpClient("127.0.0.1", "ftptest", "ftptest")) {

        conn.EncryptionMode = FtpEncryptionMode.Explicit;
        conn.ValidateCertificate += new FtpSslValidation(OnValidateCertificate);
        await conn.ConnectAsync(token);
    }
}

private static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e) {
    if (e.PolicyErrors == System.Net.Security.SslPolicyErrors.None) {
        e.Accept = true;
    }
    else {
        // add logic to test if certificate is valid here
        // lookup the "Certificate" and "Chain" properties
        e.Accept = false;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-06-29 22:28:29

我也遇到过同样的问题。请注意,fluentFTP只支持外部接口,而不是隐式接口。我也尝试过ftpWebRequest,但没有成功。尝试使用winSCP。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52321147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档