注意: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 = "";
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);
}
});
本文介绍了两种在使用FluentFTP库时验证SSL证书的方法。第一种方法适用于当SSL证书没有错误的情况,第二种方法则是在需要确保服务器证书与预定义的信任证书相匹配的情况下使用。
1486

被折叠的 条评论
为什么被折叠?



