Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Získání hodnoty z Callback, ověření certifikátu SSL webu

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
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í
+2,50 Kč
Řešení problému
Nahoru Odpovědět
22.10.2018 22:12
Ten kdo nechce hledá důvod, ten kdo chce hledá způsob
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.