C a C++ týden ITnetwork Flashka zdarma
Pouze tento týden sleva až 80 % na kurzy C a C++
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Avatar
Adam Gajdečka:22.10.2018 21:36

Potřebuji získat bool hodnotu, zda je SSL certifikát platný na dané URL. Jak to udělám, když v kódu je callback? Díky

Používám ASP .NET CORE 2.1

Zkusil jsem:

 public void CheckSecurity()
        {
            foreach (var web in _dbContext.Websites.ToList())
            {
                HttpWebRequest request = WebRequest.CreateHttp(web.Url);
                request.ServerCertificateValidationCallback += ServerCertificateValidationCallback;
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { }

//ZDE POTREBUJI DALE PRACOVAT S HODNOTOU ZDA JE PLATNY CERTIFIKAT
            }
        }


        private bool ServerCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            if (sslPolicyErrors == SslPolicyErrors.None)
            {
                return true;
            }
            else
            {

                return false;
            }
        }
 
Odpovědět 22.10.2018 21:36
Avatar
Odpovídá na Adam Gajdečka
don.jarducius:22.10.2018 22:12

Ahoj, ideálně pomocí anonymní fce… upravil jsem ti patřičně kód

        public void CheckSecurity()
        {
            foreach (var web in _dbContext.Websites.ToList())
            {
                SslPolicyErrors state = SslPolicyErrors.RemoteCertificateNotAvailable;
                HttpWebRequest request = WebRequest.CreateHttp(web.Url);
                request.ServerCertificateValidationCallback += (sender2, cert, chain, sslPolicyErrors) => {
                    state = sslPolicyErrors;
                    if (sslPolicyErrors == SslPolicyErrors.None)
                    {
                        return true;
                    }
                    else
                    {

                        return false;
                    }
                };
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    if (state == SslPolicyErrors.None) …
//ZDE POTREBUJI DALE PRACOVAT S HODNOTOU ZDA JE PLATNY CERTIFIKAT
                }
            }
        }
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 22.10.2018 22:12
Avatar
Adam Gajdečka:22.10.2018 22:21

paráda, díky moc. S tímto jsem se ještě nesetkal :-)

 
Nahoru Odpovědět 22.10.2018 22:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.