Exemplo n.º 1
0
        protected bool OnValidateCertificate(X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            FtpSocketStreamSslValidation sslvalidate = this.m_sslvalidate;

            if (sslvalidate != null)
            {
                FtpSslValidationEventArgs e = new FtpSslValidationEventArgs {
                    Certificate  = certificate,
                    Chain        = chain,
                    PolicyErrors = errors,
                    Accept       = errors == SslPolicyErrors.None
                };
                sslvalidate(this, e);
                return(e.Accept);
            }
            return(errors == SslPolicyErrors.None);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Fires the SSL certificate validation event
        /// </summary>
        /// <param name="certificate">Certificate being validated</param>
        /// <param name="chain">Certificate chain</param>
        /// <param name="errors">Policy errors if any</param>
        /// <returns>True if it was accepted, false otherwise</returns>
        protected bool OnValidateCertificate(X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            FtpSocketStreamSslValidation evt = m_sslvalidate;

            if (evt != null)
            {
                FtpSslValidationEventArgs e = new FtpSslValidationEventArgs()
                {
                    Certificate  = certificate,
                    Chain        = chain,
                    PolicyErrors = errors
                };

                evt(this, e);
                return(e.Accept);
            }

            // if the event was not handled then only accept
            // the certificate if there were no validation errors
            return(errors == SslPolicyErrors.None);
        }
Exemplo n.º 3
0
 static void FTPClient_ValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     e.Accept = true;
 }
Exemplo n.º 4
0
        /// <summary>
        /// Fires the SSL certificate validation event
        /// </summary>
        /// <param name="certificate">Certificate being validated</param>
        /// <param name="chain">Certificate chain</param>
        /// <param name="errors">Policy errors if any</param>
        /// <returns>True if it was accepted, false otherwise</returns>
        protected bool OnValidateCertificate(X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) {
            FtpSocketStreamSslValidation evt = m_sslvalidate;

            if (evt != null) {
                FtpSslValidationEventArgs e = new FtpSslValidationEventArgs() {
                    Certificate = certificate,
                    Chain = chain,
                    PolicyErrors = errors,
                    Accept = (errors == SslPolicyErrors.None)
                };

                evt(this, e);
                return e.Accept;
            }

            // if the event was not handled then only accept
            // the certificate if there were no validation errors
            return (errors == SslPolicyErrors.None);
        }
Exemplo n.º 5
0
 static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e) {
     if (e.PolicyErrors != System.Net.Security.SslPolicyErrors.None) {
         // invalid cert, do you want to accept it?
         // e.Accept = true;
     }
 }
Exemplo n.º 6
0
        private void HandleValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
        {
            if (e.PolicyErrors == SslPolicyErrors.None || _accepAllCertificates)
            {
                e.Accept = true;
                return;
            }

            try
            {
                var certHash = (_validHashes != null && _validHashes.Length > 0) ? CoreUtility.ByteArrayAsHexString(e.Certificate.GetCertHash()) : null;
                if (certHash != null)
                {
                    if (_validHashes.Any(hash => !string.IsNullOrEmpty(hash) && certHash.Equals(hash, StringComparison.InvariantCultureIgnoreCase)))
                    {
                        e.Accept = true;
                    }
                }
            }
            catch
            {
                e.Accept = false;
            }
        }