Exemplo n.º 1
0
        public static string StatusHtml(SSLLabsGrades?grade, int size = 40)
        {
            string color = StatusOrigColor(grade);

            return(string.Format(
                       @"<div class='center-block' style='background:{2};font-family: Arial, Helvetica, sans-serif;text-align: center;width: {0}px;height: {0}px;font-size: {1}px;line-height: {0}px;font-weight: bold;color: #ffffff;'>"
                       + (grade?.ToNiceDisplayName() ?? "?")
                       + "</div>", size, size / 2, color));
        }
Exemplo n.º 2
0
        public static string StatusOrigColor(SSLLabsGrades?grade)
        {
            string color = "";

            if (grade.HasValue)
            {
                switch (grade)
                {
                case SSLLabsGrades.Aplus:
                case SSLLabsGrades.A:
                case SSLLabsGrades.Aminus:
                    color = "#7ed84d";
                    break;

                case SSLLabsGrades.B:
                case SSLLabsGrades.C:
                case SSLLabsGrades.D:
                case SSLLabsGrades.E:
                    color = "#ffa100";
                    break;

                case SSLLabsGrades.F:
                case SSLLabsGrades.T:
                case SSLLabsGrades.M:
                case SSLLabsGrades.X:
                    color = "#ef251e";
                    break;
                }
            }
            else
            {
                color = "#777777";
            }

            return(color);
        }
Exemplo n.º 3
0
        public static string StatusStyleColor(SSLLabsGrades?grade)
        {
            string color = "";

            if (grade.HasValue)
            {
                switch (grade)
                {
                case SSLLabsGrades.Aplus:
                case SSLLabsGrades.A:
                case SSLLabsGrades.Aminus:
                    color = "success";
                    break;

                case SSLLabsGrades.B:
                case SSLLabsGrades.C:
                case SSLLabsGrades.D:
                case SSLLabsGrades.E:
                    color = "warning";
                    break;

                case SSLLabsGrades.F:
                case SSLLabsGrades.T:
                case SSLLabsGrades.M:
                case SSLLabsGrades.X:
                    color = "danger";
                    break;
                }
            }
            else
            {
                color = "muted";
            }

            return(color);
        }
Exemplo n.º 4
0
        public static string StatusDescription(SSLLabsGrades?grade, bool longVersion = false)
        {
            string txt = "";

            if (grade.HasValue)
            {
                switch (grade)
                {
                case SSLLabsGrades.Aplus:
                case SSLLabsGrades.A:
                case SSLLabsGrades.Aminus:
                    txt = "Všechno je v nejlepším pořádku.";
                    if (longVersion)
                    {
                        txt = "Všechno je v nejlepším pořádku a web se drží doporučených postupů.";
                    }
                    break;

                case SSLLabsGrades.B:
                case SSLLabsGrades.C:
                case SSLLabsGrades.D:
                case SSLLabsGrades.E:
                    txt = "Služba se nedrží doporučených postupů.";
                    if (longVersion)
                    {
                        txt = "Služba se nedrží doporučených postupů a jeho nastavení je zastaralé. Sice to neznamená bezprostřední a snadno zneužitelné ohrožení, ale je to znak špatně spravovaného serveru a útok je za určitých okolností možný.";
                    }
                    break;

                case SSLLabsGrades.F:
                    txt = "Web sice podporuje HTTPS, ale špatně.";
                    if (longVersion)
                    {
                        txt = "Web sice podporuje HTTPS, ale jeho parametry jsou nastavené tak špatně, že je skoro spíš na škodu, protože vzbuzuje falešný pocit bezpečí.";
                    }
                    break;

                case SSLLabsGrades.T:
                    txt = "HTTPS používá nedůveryhodný certifikát";
                    if (longVersion)
                    {
                        txt = "Služba je chráněna certifikátem od certifikační autority, kterou hlavní prohlížeče neznají hlavní prohlížeče neznají nebo jí nedůvěřují. V českých podmínkách to znamená nejspíše certifikáty vydané našimi vnitrostátními autoritami (ICA, PostSignum a eIdentity), které sice stát zákonem prohlásil za důvěryhodné, ale které nesplňují mezinárodní podmínky nutné proto, aby je za důvěryhodné pokládali i autoři prohlížečů.";
                    }
                    break;

                case SSLLabsGrades.M:
                    txt = "Služba používá certifikát pro jiný server.";
                    if (longVersion)
                    {
                        txt = "Služba používá certifikát, který byl vystaven pro jiný název serveru. Může se jednat o chybu v konfiguraci serveru, ale také o to, že na dané IP adrese běží jiný HTTPS web, než jaký testujeme.";
                    }
                    break;

                case SSLLabsGrades.X:
                    txt = "Služba HTTPS nepodporuje vůbec.";
                    break;
                }
            }
            else
            {
                txt = "muted";
            }

            return(txt);
        }