Как установить сертификаты для командной строки

ТЛ;Д-Р

Чтобы все работало, а не только ваш браузер, вам необходимо добавить этот сертификат центра сертификации в системный репозиторий доверенных центров сертификации.

В ubuntu:

  • Перейдите в /usr/local/share/ca-сертификаты/
  • Создайте новую папку, например "sudo mkdir school".
  • Скопируйте файл .crt в школьную папку
  • Убедитесь, что разрешения в порядке (755 для папки, 644 для файла)
  • Запустите "sudo update-ca-certificates".

Почему?

Позвольте мне также объяснить, что происходит, чтобы другие участники поняли, почему им не нужен никакой сертификат для использования Github по протоколу HTTPS.

Что там происходит, так это то, что ваша школа перехватывает все SSL-сообщения, вероятно, для того, чтобы отслеживать их.

Чтобы сделать это, то, что они делают, по сути, является атакой "человек посередине", и из-за этого ваш браузер справедливо жалуется, что он не может проверить сертификат github. Ваш школьный прокси-сервер удаляет сертификат github и вместо этого предоставляет свой собственный сертификат.

Когда ваш браузер пытается проверить предоставленный школой сертификат на соответствие центру сертификации, подписавшему сертификат github, он по праву терпит неудачу.

Итак, чтобы SSL-соединение работало в школе, вам нужно сознательно принять эту атаку "MITM". И вы делаете это, добавляя сертификат центра сертификации школы в качестве доверенного.

Когда вы доверяете этому школьному центру сертификации, ваша проверка поддельного сертификата github будет работать, поскольку поддельный сертификат github будет проверен школьным центром сертификации.

Имейте в виду, что SSL-соединение больше не является безопасным, так как администратор вашей школы сможет перехватывать все ваши зашифрованные соединения.