Ludovic Laly, mon blog

12:26

Afficher le nombre de jours restant d’un certificat ssl dans Home assistant

Il y a deux jours le certificat ssl de mon instance Home assistant à expiré. rien de méchant mais afin d'avoir plus de visibilité à l'avenir que : "tiens ça doit être bientôt le renouvellement", j'ai mis en place un sensor dans Home assistant, qui me permet de voir le nombre de jours restant avant l'expiration du certificat. Voir même plus tard d'utiliser cette valeur dans une automation pour renouveler automatiquement

tout d'abords, un petit script shell : ssl_expiry_check.sh.
grâce à openssl on va récupérer la date d'expiration du certificat via le fichier pem
(comme j'ai plusieurs domaine à vérifier, je passe le nom du fichier en paramètre)

#!/bin/sh
DATE_END=`openssl x509 -enddate -noout -in /path/to/file/"$1".pem |awk -F '=' '{print $2}'`
TS_START=`date +%s`
TS_END=`date -d "${DATE_END}" +%s`
echo $(( ( $TS_END - $TS_START )/(60*60*24) ))

si on lance la commande on récupère un nombre qui correspond au nombre de jours restant

# ./ssl_expiry_check.sh filename
# 77

dans Home assistant, on ajout un sensor

  - platform: command_line
      name: ssl_www_domain_tld
      command: "/home/homeassistant/.homeassistant/ssl_expiry_check.sh 'filename'"
      scan_interval: 86400
      unit_of_measurement: "Jours"

on configure l'unité sur "jours" ainsi qu'un intervalle d'une journée, inutile de lancer la commande plus souvent ...
et enfin pour faire "joli" dans le customize

sensor.ssl_www_domain_tld:
  friendly_name: www.domain.tld
  icon: mdi:lock

Ce qui donne :

Voilà.