首页 .Net .NET 使用FluentFTP连接用FTPS验证服务器证书的方法代码(FTP over SSL)

.NET 使用FluentFTP连接用FTPS验证服务器证书的方法代码(FTP over SSL)

注意:FluentFTP不支持SFTP连接,因为它是通过SSH的FTP,一种完全不同的协议。使用SSH.NET

1、第一种方法

如果SSL证书没有错误,请进行连接

client.ValidateCertificate += new FtpSslValidation(delegate (FtpClient c, FtpSslValidationEventArgs e) {
if (e.PolicyErrors != System.Net.Security.SslPolicyErrors.None){
e.Accept = false;
}else{
e.Accept = true;
}
});

2、第二种方法

如果证书与白名单证书匹配,则进行连接。

首先,您必须发现有效证书的字符串。使用此代码将有效证书字符串保存到文件:

client.ValidateCertificate += new FtpSslValidation(delegate (FtpClient c, FtpSslValidationEventArgs e) {
    File.WriteAllText(@"C:\cert.txt", e.Certificate.GetRawCertDataString());
});

然后最后使用此代码检查收到的证书是否与您信任的证书匹配:

string ValidCert = "<insert contents of cert.txt>";
client.ValidateCertificate += new FtpSslValidation(delegate (FtpClient c, FtpSslValidationEventArgs e) {
if (e.PolicyErrors == SslPolicyErrors.None || e.Certificate.GetRawCertDataString() == ValidCert) {
e.Accept = true;
}else{
throw new Exception("Invalid certificate : " + e.PolicyErrors);
}
});

官方文档https://github.com/robinrodricks/FluentFTP#faq_ftps

相关文档:.NET 使用FluentFTP实现FTP上传下载文件方法及示例代码

特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。