Методология · Открытая формула
Методология SSL/TLS Grade v1.2
Открытая формула: семь строк, 100 баллов, буква от A+ до F.
1. Срок сертификата — 30
- 30 — действует: срок начался и не истёк, имя хоста в SAN, осталось больше 30 дней
- 20 — то же, но осталось 30 дней или меньше
- 0 — истёк, ещё не начался или выдан на другое имя
2. Имя хоста — 10
- 10 — запрошенное имя есть в SAN (Subject Alternative Name) и сопоставляется так, как это делают браузеры. CN не учитывается — как в браузерах с 2017 года; IP-адрес должен быть IP-записью SAN. *.example.com засчитывается для поддоменов одного уровня (www.example.com), но не для самого example.com и не для a.b.example.com; звёздочка заменяет только целую крайнюю левую метку (f*.example.com не засчитывается), никогда не IP-адрес, и после неё должно быть не меньше двух меток (*.com не засчитывается; подстановка на публичный суффикс вроде *.co.uk не распознаётся — УЦ такие не выпускают); регистр и одна точка в конце имени не важны; кириллическое имя сравнивается в punycode (xn--…) — в таком виде его несёт сертификат
3. Ключ — 15
- 15 — EC от 256 бит или любой ключ от 4096 бит
- 10 — от 2048 бит
- 0 — короче
4. Версии протокола — 20
- 20 — TLS 1.3 принимается, TLS 1.0 и 1.1 — нет
- 15 — TLS 1.2 принимается, TLS 1.0 и 1.1 — нет
- 10 — TLS 1.2 принимается, но и TLS 1.0 или 1.1 тоже
- 0 — иначе (нет TLS 1.2, и либо нет TLS 1.3, либо включены старые версии)
Каждая версия пробуется отдельным рукопожатием к тому же адресу. Старые версии запрещены RFC 8996.
5. Шифр — 10
- 10 — у согласованного шифра 256 бит или больше
- 7 — от 128 бит
- 0 — меньше
Forward secrecy и класс шифра (AEAD, CBC, RC4…) показываются на /ssl, но в оценку не входят.
6. Промежуточные сертификаты — 5
- 5 — сервер отдал хотя бы один сертификат кроме своего
Ведёт ли цепочка к доверенному корню, не проверяется: проба соединяется без проверки, чтобы сайт со сломанной цепочкой всё равно получил отчёт.
7. HSTS — 10
- 10 — Strict-Transport-Security с max-age ≥ 31536000
- 5 — есть, но max-age короче
- 0 — нет, или HTTPS-запрос не ответил
Читается из HEAD-запроса к https://{хост}/ без перехода по редиректам.
Буквенная оценка
Истёк или ещё не начался → F при любой сумме
| Баллы | Оценка |
|---|---|
| 95–100 | A+ |
| 85–94 | A |
| 70–84 | B |
| 55–69 | C |
| 40–54 | D |
| 0–39 | F |
На /ssl рядом с оценкой, но не в ней: отзыв и stapling по OCSP, Certificate Transparency, CAA, forward secrecy.
Источники
Версионирование
Текущая версия — v1.2, обновлена . Каждое изменение опубликованной формулы — весов или их описания — новая версия со строкой в истории выше.
Калькулятор
Задайте сертификат и соединение — оценка считается по тем же правилам, что и проверка /ssl.