提出问题提出问题
 

已答复reqFTP.EnableSsl = true;

  • 2007年6月2日 18:03myNameIsRon 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    Hi,

    I'm using a hosting company that offers FTPS, but because the certificate is self signed it's coming up with an error.

    Is it possible to bypass the certificate error (exception) and still login? I notice that with other FTP programs (FileZilla), you can choose to trust the certificate if it doesn't pass inspection.

     

    thanks,

    Ron

答案

  • 2007年6月3日 21:40timvw 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    And which library are you using?

    (If installing your certificate as a trusted one isn't an option, for .Net libs you would use the  ServicePointManager.ServerCertificateValidationCallback to plugin your own validator...)
  • 2007年6月3日 22:29myNameIsRon 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

     

    Hi timvw,

    Ops, yes that would have been a good thing to include Surprise)

    The certificate error is "Self Signed Certificate". I'm just trying to use FTP over SSL to protect my FTP login ID and Password.

     

    I'm using FtpWebRequest

    I kept looking, and as you said... ServicePointManager, I did find this code on the web... and it does seem to work.

    Is this the best way to go about it?

    ----------------------------------------------------------------------------------------------------------------------------

    ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertificatePolicy;

     

    //Code to Accept All Certificates

    public static bool AcceptAllCertificatePolicy(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)

    {

    return true;

    }

     

    Thanks,

    Ron

  • 2007年6月4日 5:26timvw 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    As long as you're not doing anything else your code would be enough... But I would probably only return true if the certificate is your own self-signed certificate and in all other cases rely on default validation...

全部回复

  • 2007年6月3日 21:40timvw 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    And which library are you using?

    (If installing your certificate as a trusted one isn't an option, for .Net libs you would use the  ServicePointManager.ServerCertificateValidationCallback to plugin your own validator...)
  • 2007年6月3日 22:29myNameIsRon 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复

     

    Hi timvw,

    Ops, yes that would have been a good thing to include Surprise)

    The certificate error is "Self Signed Certificate". I'm just trying to use FTP over SSL to protect my FTP login ID and Password.

     

    I'm using FtpWebRequest

    I kept looking, and as you said... ServicePointManager, I did find this code on the web... and it does seem to work.

    Is this the best way to go about it?

    ----------------------------------------------------------------------------------------------------------------------------

    ServicePointManager.ServerCertificateValidationCallback = AcceptAllCertificatePolicy;

     

    //Code to Accept All Certificates

    public static bool AcceptAllCertificatePolicy(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)

    {

    return true;

    }

     

    Thanks,

    Ron

  • 2007年6月4日 5:26timvw 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    As long as you're not doing anything else your code would be enough... But I would probably only return true if the certificate is your own self-signed certificate and in all other cases rely on default validation...
  • 2007年8月3日 1:19just.a.nerd 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
     myNameIsRon wrote:

     

    I'm just trying to use FTP over SSL to protect my FTP login ID and Password.

     

     

    I wish, more people would do just that.

    And, in that case a self-signed certificate is just as good as one, that makes rich people richer !