SSL证书问题 - 根据验证程序,远程证书无效

时间:2013-12-11 04:09:19

标签: c# ssl ftp

尝试通过C#桌面应用程序将文件上传到我的服务器时出现以下错误:“根据验证程序,远程证书无效。”这与SSL证书有关。它是由我的网站由Arvixe托管。这是我使用的代码:

        public void Upload(string strFileToUpload)
    {
        FileInfo fiToUpload = new FileInfo(strFileToUpload);
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.sd.arvixe.com/" + strDomain + "/wwwroot/OnlineGalleries/" + strOnlineGalleryName + "/Gallery/" + fiToUpload.Name);
        request.EnableSsl = true;
        request.Method = WebRequestMethods.Ftp.UploadFile;
        request.Credentials = new NetworkCredential("usr", "psw");
        Stream sFTP = request.GetRequestStream();
        FileStream file = File.OpenRead(strFileToUpload);
        int length = 1024;
        byte[] buffer = new byte[length];
        int bytesRead = 0;
        do
        {
            bytesRead = file.Read(buffer, 0, length);
            sFTP.Write(buffer, 0, bytesRead);
        }
        while (bytesRead != 0);
        file.Close();
        sFTP.Close();
    }

如果我设置request.EnableSsl = false,此代码可以正常工作。我不知道该怎么做。我已经尝试将URI设置为ftps://和sftp://,但它们返回错误“无法识别URI前缀”。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:10)

难以在连接到公共服务时测试代码。但是,如果你只是想忽略SSL错误,也许这可以帮助你做到这一点:

System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;