Командная строка Middle DNS, TLS и прокси обновлено

Сроки сертификатов по файлам

Условие

В каталоге certs/ лежат файлы с выводом openssl x509 -noout -subject -enddate для каждого сертификата: строка subject=CN = <имя> и строка notAfter=<дата> GMT. На stdin сегодняшняя дата ГГГГ-ММ-ДД (полночь UTC). Для каждого сертификата выведите <дней осталось> <имя> <статус>: дни это целое число полных суток до истечения (для истёкших отрицательное, округлённое в сторону минус бесконечности), статус expired если срок прошёл, warn если осталось меньше 30 полных суток, иначе ok. Сортировка по дням по возрастанию, при равенстве по имени.

Как подойти

Подсказки: 2
  1. date -u -d "<дата>" +%s переводит дату в секунды.
  2. Отрицательное деление в bash округляет к нулю, учтите это.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.