Сертификаты и доверие
Урок 40 из 47 курса Сетевое взаимодействие в терминале на Coddy.
Во время рукопожатия сервер предъявляет сертификат: документ, в котором указано, для какого хоста он предназначен, когда истекает срок его действия и кто это подтверждает.
Любой может создать сертификат, заявив, что он предназначен для любого хоста, поэтому важна подпись. Сертификаты подписываются центром сертификации, а на вашем компьютере есть список доверенных центров:
ls -l /etc/ssl/certs/ca-certificates.crtВаш клиент проверяет три вещи: что сертификат подписан центром из этого списка, что он не просрочен и что указанное в нём имя совпадает с именем запрошенного вами хоста. Если не выполняется хотя бы одно из этих условий, соединение прекращается.
Именно поэтому последняя проверка часто завершается ошибкой для внутреннего сервиса, к которому обращаются по IP-адресу, даже при наличии действительного сертификата: сертификат предназначен для имени, а вы запросили число.
Задание
СреднеНайдите список центров сертификации, которым доверяет ваша машина.
Проверьте, существует ли пакет CA по адресу /etc/ssl/certs/ca-certificates.crt, и выведите ca bundle present, если он существует, или missing, если его нет.
Ожидаемый результат:
ca bundle presentКаждое устанавливаемое вами TLS-соединение проверяется по этому файлу.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Сетевое взаимодействие в терминале
5HTTP вручную
Анатомия запросаМетоды запросовКоды состоянияЗаголовки ответаФормирование ответаПовторение: основы HTTP8HTTPS и TLS
Зачем нужен HTTPSСхема выбирает портСертификаты и довериеКогда TLS не работаетПовторение: HTTPS3Порты и сокеты
Что такое портХорошо известные портыЛокальный хостПрослушивание и подключениеПовторение: порты6curl в деталях
Просмотр заголовковСохранение ответовПользовательские заголовкиСтатус и время выполненияКоды выхода curlПовторение: флаги curl9Аутентификация и отладка
API-ключи и BearerUser-AgentТайм-ауты и повторные попыткиАнализ ошибкиПовторение: отладкаПотренируйтесь самостоятельно: Песочница Terminal