Beispiel #1
0
        private void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
        {
            switch (Policy)
            {
            case FtpPolicies.Accept:
                e.Accept = true;
                break;

            case FtpPolicies.Refuse:
                e.Accept = false;
                break;

            case FtpPolicies.Verify:
                e.Accept = Verify(e);
                break;

            case FtpPolicies.Prompt:
                e.Accept = Verify(e, true);
                break;

            default:
                var msg = $"Unexpected strategy [{Policy}]";
                throw new ArgumentOutOfRangeException(msg);
            }
        }
Beispiel #2
0
 private static void OnValidateFTPSCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     if (_allowTestCertificates.ToLower() == "true") // Allow test certs only if allowed in app.config
     {
         e.Accept = true;
     }
 }
Beispiel #3
0
 static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     if (e.PolicyErrors != System.Net.Security.SslPolicyErrors.None)
     {
         e.Accept = true;
     }
 }
Beispiel #4
0
 private static void AcceptInvalid(FtpClient control, FtpSslValidationEventArgs e)
 {
     if (e.PolicyErrors != System.Net.Security.SslPolicyErrors.None)
     {
         e.Accept = true;
     }
 }
 private 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;
     }
 }
Beispiel #6
0
 private static void ValidateCertificateCallback(FtpClient client, FtpSslValidationEventArgs e)
 {
     if (e.PolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors)
     {
         e.Accept = e.Chain.ChainStatus.All(chainStatus =>
                                            (chainStatus.Status & (X509ChainStatusFlags.OfflineRevocation | X509ChainStatusFlags.RevocationStatusUnknown)) != 0);
     }
 }
Beispiel #7
0
        private void _ftpClient_ValidateCertificate(FtpClient control, FtpSslValidationEventArgs e, bool acceptAllCertificates)
        {
            Trace.TraceInformation("Validating server certificate.");

            e.Accept = acceptAllCertificates ? true : e.PolicyErrors == SslPolicyErrors.None;

            // Only for development purposes.
            //if (e.Accept == false && e.Chain.ChainStatus.Length == 1 && e.Chain.ChainStatus[0].Status == X509ChainStatusFlags.RevocationStatusUnknown)
            //{
            //    e.Accept = true;
            //}
        }
Beispiel #8
0
        private static bool Verify(FtpSslValidationEventArgs e, bool display = false)
        {
            if (e.PolicyErrors == SslPolicyErrors.None)
            {
                return(true);
            }
            var certificate = new X509Certificate2(e.Certificate);

            if (certificate.Verify())
            {
                return(true);
            }
            if (!display)
            {
                return(false);
            }
            X509Certificate2UI.DisplayCertificate(certificate);
            return(certificate.Verify());
        }
Beispiel #9
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.OrdinalIgnoreCase)))
                    {
                        e.Accept = true;
                    }
                }
            }
            catch
            {
                e.Accept = false;
            }
        }
Beispiel #10
0
 private static void FtpConnection_ValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     e.Accept = true;
 }
Beispiel #11
0
 private void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e) => e.Accept = true;
Beispiel #12
0
 static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     e.Accept = true;
 }
Beispiel #13
0
 private void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     // add logic to test if certificate is valid here
     e.Accept = true;
 }
Beispiel #14
0
 private void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     // 証明書の内容を確認しない
     e.Accept = true;
 }
Beispiel #15
0
 private void request_ValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     e.Accept = true;
 }
Beispiel #16
0
 private static void ClientOnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e)
 {
     e.Accept = e.PolicyErrors == SslPolicyErrors.None;
 }
Beispiel #17
0
 private static void client_ValidateCertificate(System.Net.FtpClient.FtpClient control, FtpSslValidationEventArgs e)
 {
     if (e.Accept)
     {
         Console.WriteLine("certificate accept.");
     }
     else
     {
         Console.WriteLine("error:" + e.PolicyErrors.ToString());
     }
     throw new NotImplementedException();
 }