首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FtpWebRequest EnableSSL错误

FtpWebRequest EnableSSL错误
EN

Stack Overflow用户
提问于 2010-09-08 04:45:24
回答 1查看 2.1K关注 0票数 1

我收到一条异常消息“根据验证过程,远程证书无效”,代码如下:

代码语言:javascript
复制
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(MyCertValidationCb);

var request = (FtpWebRequest)WebRequest.Create(new Uri(myUri));
request.EnableSsl = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.BeginGetRequestStream(EndGetStreamCallback, _state);


public static bool MyCertValidationCb(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    if ((sslPolicyErrors & SslPolicyErrors.RemoteCertificateChainErrors)
              == SslPolicyErrors.RemoteCertificateChainErrors)
    {
        return false;
    }
    if ((sslPolicyErrors & SslPolicyErrors.RemoteCertificateNameMismatch)
        == SslPolicyErrors.RemoteCertificateNameMismatch)
    {
        Zone z;
        z = Zone.CreateFromUrl(((FtpWebRequest)sender).RequestUri.ToString());
        if (z.SecurityZone == SecurityZone.Intranet
            || z.SecurityZone == SecurityZone.MyComputer)
        {
            return true;
        }
        return false;
    }
    return false;
} 

ftp服务器是filezilla。启用了SSL上的FTP,并且还启用了允许显式TLS上的FTP。我已经生成了一个certificate.crt文件。已使用filezilla客户端连接到ftp位置,并在弹出窗口中选中“始终信任此证书”。

在MyCertValidationCb方法中,(sslPolicyErrors & SslPolicyErrors.RemoteCertificateChainErrors) == SslPolicyErrors.RemoteCertificateChainErrors始终为真。

如果我将MyCertValidationCb更改为总是返回true,则ftp请求将顺利通过。我敢肯定这是证书的问题。有谁有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-09 02:07:21

RemoteCertificateChainErrors是受信任的根证书颁发机构证书存储中没有证书的结果。

Filezilla生成以下格式的自签名证书:

-开始RSA私钥

//hash

-结束RSA私钥

-开始证书

//hash

-结束证书

要导入证书,请删除私钥部分并保存新文件。将其安装到受信任的根证书颁发机构证书存储中。

现在我遇到的问题是RemoteCertificateNameMismatch,我将在另一个主题中发布它。

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

https://stackoverflow.com/questions/3662592

复制
相关文章

相似问题

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