Срок действия ssl сертификата сайта средствами Bash

Всем привет.
Мне необходимо средствами Баша получить количество дней, в течении которых SSL/TLS сертификат сайта действительный. Загвоздка в том, что это не просто доменное имя, а связка имени, порта и хоста. Нужно для того, чтоб мониторить хосты, которые находятся за балансерами и клаудфларой напрямую. Пример,

curl -v -S --connect-timeout 4 --resolve m.api.domain.com:443:67.67.67.67 https://m.api.mydomain.com/xml.response

курлом можно пойти на хост 67.67.67.67 и проверить отдает ли домен m.api.domain.com ответ “200 ОК”. Минуя клаудфлару и балансеры!

В выхлопе есть даты

  •   start date: Jul 27 00:00:00 2022 GMT
    
  •   expire date: Jul 27 23:59:59 2023 GMT
    

Можно как-то преобразовать эти даты в количество дней валидности сертификата?

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

Привет, есть готовое решение, все есть в скрипте:

1 Like

Благодарю, но решение не подходит.
Примерно такой выхлоп можно получить и курлом

Port: 443. Cert info - Start: Oct 25 00:00:00 2021 GMT / End: Oct 25 23:59:59 2022 GMT

Хост, который нужно промониторить, а точнее его сертификат, находится за клаудфларой и балансером. Т.е. если заюзать скрипт, я получу инфу о сертификате на Клаудфларе.

Это же ваши хосты, чекайте на прямую, CF прокси вам не прокинет серты, с бэкенда судя по первому посту Вы так и делаете…

И вопрос был «как сконвертровать даты» на сколько помню…

Да, верно.

В копилку можно вот этот добавить экземпляр:

1 Like