Заметки про TLS
Складываю сюда то, что приходится вспоминать заново: как собирается цепочка, почему клиент ругается на отсутствующее звено и что ломается после продления.
- Отсутствующее звено 30.09 «unable to get local issuer certificate» и почему браузер при этом молчит.
- Порядок в fullchain.pem 27.09 Что видит клиент, если промежуточный сертификат лежит не там, где надо.
- Продление и его последствия 21.09 Три месяца пролетают быстро. Обычно ломается не сертификат, а то, что вокруг него.
- Стейплинг OCSP 14.09 Зачем ответ об отзыве едет вместе с сертификатом и что нужно веб-серверу.
- Логи Certificate Transparency 07.09 Новый сертификат виден в поиске через пару минут. Это нормально.
Где это пригодилось
Один раз полдня искал, почему бот не может достучаться до сайта. В браузере всё открывалось, curl падал на проверке цепочки. Оказалось, в конфиг попал cert.pem вместо fullchain.pem, а браузеры умеют достраивать цепочку сами и потому молчат. С тех пор проверяю снаружи, а не с самой машины.
Команда, которой это видно:
openssl s_client -connect example.com:443 -servername example.com -showcerts
Если в выводе один сертификат, промежуточный не отдан. Если два и больше, смотрим порядок и сроки.
В планах разбор DANE и проверка цепочки в Java.