Что такое сертификаты

Ответ

Сертификаты (SSL/TLS) — это цифровые документы, подтверждающие подлинность сайта и шифрующие данные между клиентом и сервером. Они содержат:

  • Доменное имя (или список доменов)
  • Публичный ключ для шифрования
  • Данные владельца (организация, местоположение)
  • Срок действия
  • Цифровую подпись центра сертификации (CA)

Пример проверки сертификата в браузере:

// Проверка, работает ли HTTPS  
if (window.location.protocol === 'https:') {  
  console.log('Соединение защищено SSL/TLS');  
}  

Типы сертификатов:

  • DV (Domain Validation) — проверка только домена.
  • OV (Organization Validation) — проверка организации.
  • EV (Extended Validation) — максимальная проверка (раньше показывал зеленую строку в браузере).

Сертификаты выпускают центры сертификации (Let's Encrypt, DigiCert, Comodo и др.).

Ответ 18+ 🔞

А, слушай, про эти ваши сертификаты SSL, ну это ж просто пиздец какой-то важный замес, если честно. Без них сейчас сайт — как голый мужик в метро, все на него пальцем тычут и «администратор!» кричат.

Короче, представь себе такую хуеву бумажку, но цифровую. Она кричит всем: «Эй, народ, этот сайт — не левая шарага какая-то, а настоящий! И всё, что ты ему шлёшь (логины, пароли, номер карты мамки), будет зашифровано так, что только этот сервер и твой комп это прочитают».

Что внутри этой бумажки-то? Ну, там:

  • Домен сайта (ну или целый список, если жмот хозяин один сертификат на всё хозяйство купил).
  • Публичный ключ — этакая здоровенная криптографическая отвертка, чтобы закрутить (зашифровать) сообщение. А открутить (расшифровать) её может только тот, у кого есть вторая половинка — приватный ключ на сервере.
  • Данные про контору, которая сайтом владеет (если сертификат не самый дешёвый).
  • Срок годности, блядь! Да-да, у них срок годности есть, как у молока! Потому что мир не стоит на месте, и ключи надо менять. Просрочился — браузер начинает орать, что сайт небезопасный, и народ в панике разбегается.
  • Цифровая подпись какого-нибудь уважаемого Центра Сертификации (CA). Это типа как печать нотариуса. Если печать есть — значит, они хоть как-то проверили, что владелец домена не какой-то левый пидарас.

Вот, к примеру, как фронтенд-разработчик может проверить, не сидит ли его пользователь на http, как лох:

// Проверка, работает ли HTTPS  
if (window.location.protocol === 'https:') {  
  console.log('Соединение защищено SSL/TLS');  
}

А теперь, внимание, ёпта, сортировка по степени крутости (и цене, конечно, куда ж без этого):

  • DV (Domain Validation) — Самый простой, для бедных. Центр сертификации только проверяет, что ты владеешь доменом. Типа отправил письмо на admin@tvoysayt.ru и получил ответ. Всё. Ни имени, ни лица. Дешево и сердито. Let's Encrypt так вообще бесплатно такие выдает, молодцы, ебать их в сраку.
  • OV (Organization Validation) — Тут уже начинается движ. Проверяют не только домен, но и контору, которая его запросила. Типа «ООО „Рога и копыта“» реально существует в реестре. В инфо о сертификате эти данные будут.
  • EV (Extended Validation) — Раньше это была магия, блядь! Браузер показывал зелёную строку с названием компании, и все думали: «Ух ты, серьёзные люди!». Сейчас эту зелёную строку убрали, но проверка всё равно самая жёсткая. Контору проверяют по полной программе. Стоит, соответственно, овердохуища.

Выпускают эту всю радость специальные конторы — те самые Центры Сертификации. DigiCert, Comodo — это как брендовые магазины. А Let's Encrypt — это как бесплатный общественный туалет: не пафосно, зато всем доступно и решает главную проблему. Главное — не забывать вовремя обновлять, а то просрёшь срок, и твой сайт накроется медным тазом.