DANE / DNSSEC signatures : valid or not valid?

Tags: #<Tag:0x00007fc9e2584bd0> #<Tag:0x00007fc9e2584ae0>

Tu peux aussi faire très simplement des additions/soustractions avec la commande date :

michel@deb114x:~$ date                             # date actuelle
mer. 28 sept. 2022 19:17:41 CEST
michel@deb114x:~$ 
michel@deb114x:~$ date -d "+1 month"               # date actuelle + un mois
ven. 28 oct. 2022 19:17:51 CEST
michel@deb114x:~$ 
michel@deb114x:~$ date -d "+1 month - 1 day"       # date actuelle + un mois moins un jour
jeu. 27 oct. 2022 19:18:32 CEST
michel@deb114x:~$ 
michel@deb114x:~$ date -d "+1 month" +"%Y-%M-%d"   # date actuelle + un mois formatée selon mon besoin
2022-19-28
michel@deb114x:~$ 

Ah oui bien sûr … comme « chez moi » en PHP :slight_smile:

Heuresement :smiley:

Bonne soirée à vous mesdames, mesdemoiselles, messieurs.

Merci !

:wink:

j’aime bien celle-ci :slight_smile:

20:16:29 root@lv1.dns:~ # date -d '2022-02-28'
lundi 28 février 2022, 00:00:00 (UTC+0100)
20:16:30 root@lv1.dns:~ # date -d '2022-02-28 +1 month'
lundi 28 mars 2022, 00:00:00 (UTC+0200)

Style date('I', $mktime) en PHP :slight_smile: → winter or summer :slight_smile: truc à la c** :wink:

:slight_smile:

La commande info donne vraiment beaucoup plus d’informations que la commande man sur les possibilités de la commande date et on y trouve beaucoup d’exemples.

1 J'aime

Ok… :slight_smile: super cooL ! merci :slight_smile:

J’ai fais un « tar.gz » de mon script : dnssec-sign-zones comme on me l’a conseillé sur https://www.developpez.net en ajoutant le code - (à la place de mettre un lien vers le « commentaire 8 » de cette discussion :wink:
:slight_smile:

Bonne journée.

NdMoi-même pour récupérer le fichier :slight_smile:

wget http://www.zw3b.com/pub/dnssec-sign-zones.tar.gz

NdMoi-même pour décompresser le fichier :slight_smile:

# tar xzvfp dnssec-sign-zones.tar.gz
dnssec-sign-zones.bash
dnssec-sign-myzones.bash
dnssec-sign-zones.txt

Salutations,
Romain

Bonjour,

Comme beaucoup d’entre nous, j’ai plusieurs fichiers de zones à vérifier - j’ai ajouté/créé un autre script « qui vérifie plusieurs zones DNSSEC » et qui au cas où une des zone DNS est modifiée et seulement dans ce cas qui redémarrait, rechargerait le serveur DNS.

Sans trop connaître les sortie de commandes (j’ai opté pour un numéro « retour status » 150).

J’ai trouvé cette page : Linux bash exit status and how to set exit status in bash → paragraphe « List of common exit codes for GNU/Linux » qui explique comment faire et les valeurs de sortie bash.

Le code (c’est celui-ci à mettre en « crontab »):

# cat /root/dnssec-sign-myzones.bash

#!/bin/bash
#######################################################################
# Author : O.Romain.Jaillet-ramey (orj+bash+dnssec (at) lab3w.fr)
# Date Create : 20221005
# Date Modified : 20221005
# Desc : Checks several DNSSEC zones and restarts the DNS server
# Author's note : Useless script
#######################################################################

#####-------------------------- CONFIG ----------------------------#####

date_year="$(date +%Y)"
date_month="$(date +%m)"
date_day="$(date +%d)"
date_hour="$(date +%H:%M:%S)"
date="${date_year}-${date_month}-${date_day} ${date_hour}"

#month_more_1m=$((60 * 60 * 24 * 30))

#####-------------------------- CONFIG ----------------------------#####


script_desc() {

        echo "#####---------------------------------------------------------"
        echo "#"
        echo "# DESC : Script to check expiration and sign zone (last day) DNSSEC"
        echo "#"
        echo "# ACTUAL DATE : ${date}"
        #echo "# ACTUAL TIMESTAMP : ${timestamp}"
        #echo "# ACTUAL TIMESTAMP + 1 MONTH : ${timestamp} + ${month_more_1m} = $((${timestamp} + ${month_more_1m}))\n"

        #expire_timestamp="$((${timestamp} + ${month_more_1m}))"
        #expire_date=$(date -d @${expire_timestamp} '+%Y-%m-%d %H:%M:%S')

        #echo "# EXPIRE DATE : ${expire_date}"
        echo "#"
        echo -e "#####---------------------------------------------------------\n"

        echo -e "#####---------------------------------------------------------"

}

# for restart or not restart DNS serveur
status=()

restart_server_dns=0

#------------------------------------------------------------------

script_desc

#------------------------------------------------------------------

#------------------------------------------------------------------
# Zone DNS SEC -> algorithm 8 = RSA SHA 256
#
# dnssec-keygen -a RSASHA256 -b 1024 -n ZONE zw3b.net
# dnssec-keygen -a RSASHA256 -f KSK -b 2048 -n ZONE zw3b.net
#
#------------------------------------------------------------------

domains_list="zw3b.fr zw3b.tv zw3b.net zw3b.site zw3b.blog lab3w.com lab3w.fr"
for domain in ${domains_list}
do
        /root/dnssec-sign-zones.bash -d ${domain} -f /etc/bind/masters/${domain}.hosts -a 8

        status+=( "$(printf "%d\n" $?)" )
done


#------------------------------------------------------------------
# Zone DNS SEC -> algorithm 13 = ECDSA P256 SHA256
#
# dnssec-keygen -a ECDSAP256SHA256 -n ZONE ipv10.net
# dnssec-keygen -a ECDSAP256SHA256 -f KSK -n ZONE ipv10.net
#
#------------------------------------------------------------------

domains_list="ipv10.net ipv01.net"
for domain in ${domains_list}
do
        /root/dnssec-sign-zones.bash -d ${domain} -f /etc/bind/masters/${domain}.hosts -a 13

        status+=( "$(printf "%d\n" $?)" )
done


#------------------------------------------------------------------
# Verify status return for restart or not restart DNS server
#------------------------------------------------------------------

for code in "${status[@]}"; do

        #echo "Code : ${code}"

        if [ ${code} -eq 150 ]; then
                restart_server_dns=1
        fi
done

#exit

#------------------------------------------------------------------


echo "#####---------------------------------------------------------"

if [ ${restart_server_dns} -eq 1 ]; then

        /etc/init.d/bind9 restart
        echo "+-> Bind server DNS reloading|restarting"

else
        echo "+-> Bind server DNS do not restarting (no zone update)"
fi

echo "#####---------------------------------------------------------"

exit 0

J’ai modifié le script ("dnssec-sign-zones.bash" en commentaire 8) en ajoutant plusieurs répertoires de clefs selon les algorithmes de création DNSSEC et une getopts « -a 8|13 » pour envoyer le bon algorithme/répertoire de clefs.

Testez le retour du script en exécutant la commande /root/dnssec-sign-myzones.bash en changeant les noms de domaine par les vôtres.

Via la « crontab » pour vérifier tous les jours à minuit :

# +---------------- minute (0 - 59)
# |  +------------- hour (0 - 23)
# |  |  +---------- day of month (1 - 31)
# |  |  |  +------- month (1 - 12)
# |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  command to be executed
 
# sans envoie d'un mail à l'admin
0 0 * * * /root/dnssec-sign-myzones.bash 1>>/var/log/syslog 2>/dev/null 2>&1
# Avec envoie de mail à l'admin
#0 0 * * * /root/dnssec-sign-myzones.bash | mail -s "[TON_SERVER][DNSSEC]Check Zones" "admin_1@domain.tld, admin_2@domain.tld" 1>>/var/log/syslog 2>/dev/null 2>&1

:wink:

Bonne journée à vous.

PS : Je modifie le « tar.gz » :slight_smile:

Salutations,
Romain

bonjour

Tu pourrais remplacer :

#####-------------------------- CONFIG ----------------------------#####

date_year="$(date +%Y)"
date_month="$(date +%m)"
date_day="$(date +%d)"
date_hour="$(date +%H:%M:%S)"
date="${date_year}-${date_month}-${date_day} ${date_hour}"

#month_more_1m=$((60 * 60 * 24 * 30))

#####-------------------------- CONFIG ----------------------------#####


script_desc() {

        echo "#####---------------------------------------------------------"
        echo "#"
        echo "# DESC : Script to check expiration and sign zone (last day) DNSSEC"
        echo "#"
        echo "# ACTUAL DATE : ${date}"

par :

#####-------------------------- CONFIG ----------------------------#####


script_desc() {

        echo "#####---------------------------------------------------------"
        echo "#"
        echo "# DESC : Script to check expiration and sign zone (last day) DNSSEC"
        echo "#"
        echo "# ACTUAL DATE : $(date "+%Y-%m-%d %T")"

La dernière ligne du script :

exit 0

… n’est pas nécessaire , car si toutes les commandes qui précédaient cette dernière ligne ont pu s’exécuter jusque là sans provoquer d’erreur, c’est que le code d’erreur qui résultera de l’exécution du script sera déjà zéro.

3 J'aime

et pour

tu peux aussi directement utiliser date +%F.

Au final, au lieu de tout ça:

date_year="$(date +%Y)"
date_month="$(date +%m)"
date_day="$(date +%d)"
date_hour="$(date +%H:%M:%S)"
date="${date_year}-${date_month}-${date_day} ${date_hour}"

Tu peux utiliser date=$(date '+%F %T'):

sputnik@debian:~$ date '+%F %T'
2022-10-05 17:33:47
1 J'aime

Oui, je n’arrivais plus à le retrouver ce F…ameux %F . :slight_smile:

Donc :

        echo "# ACTUAL DATE : $(date '+%F %T')"

Par contre, ce n’est pas une très bonne idée de créer une variable dont le nom est aussi le nom d’une commande.

1 J'aime

@MicP @Sputnik93 oui merci… man ; info date :rofl:

C’était pour avoir une variable « static » de la date pour si le script s’exécuterait en 1, 10min que les dates ne change pas et pour récupérer les valeurs en début de script et les avoir tout au long du script (dans le script « dnssec-sign-zones.bash »)

Et en plus, bon, ok, dans ce script « dnssec-sign-myzones.bash » oui c’est vrai j’aurais dû faire çà ok messieurs :smiley:

oui c’est vrai :smiley:

PS : vous avez remarqués, bon élève que je suis, j’ai mis mes variables en minuscule et je nomme mes scripts BASH (Bourne-Again shell) en « .bash » maintenant :wink:

Oui ok :smiley: - Et mon exit 150 dans le script « dnssec-sign-zones.bash » c’est moche non ? C’était çà la question :smiley: :slight_smile:

Bonne journée :wink:

Salutations,
Romain

Tu pourrais peut-être, au début de ton script dnssec-sign-zones.bash
mettre la ligne de commande suivante :

set -e

ce qui fait que tu n’aurais pas besoin de tester si une des lignes de commandes contenue dans ton script ne fonctionne pas, ni à positionner un code d’erreur résultant pour l’afficher en quittant le script.

Voir la page man de bash concernée
en entrant la ligne de commande suivante :

man --pager='less -p "-e      Se"' bash

Merci beaucoup @MicP ! Je regarde çà :slight_smile:

Ton man est en « FR » ou « EN » ? « Pattern not found » Je recherche des docs…

Bonne journée merci.

En fait ce n’est pas un retour d’erreur mais plutôt un retour « perso » pour que je sache qu’une ou plusieurs zones on étaient modifiées et donc qu’il faut que je restart le serveur.

:slight_smile:

Oui, il est en français, mais le formatage de sortie de pages man insère plus ou moins de caractères espaces entre les mots en fonction de la taille de la fenêtre du terminal utilisé.

Voici l’extrait de la page man concerné par l’option e

Avec cette option, ce sera ta commande qui, en cas d’échec, arrêtera là le déroulement du script en transmettant son code de sortie au script, et donc, le code de sortie retourné par ton script sera beaucoup plus pertinent.

Fais un test avec l’option e pour voir si ça convient à ce que tu veux faire.

1 J'aime

Merci beaucoup :slight_smile:

oui j’essairais. Merci encore @MicP :slight_smile:


En fait dans mon script « dnssec-sign-zones.bash » par exemple si je --force en exécutant manuellement la commande pour signer la zone je souhaite redémarrer le serveur.

Et si j’utilise le script « dnssec-sign-zones.bash » plusieurs fois depuis l’autre script « dnssec-sign-myzones.bash » qui fait une boucle sur plusieurs zones - je souhaite avoir une sortie pour savoir si je dois redémarrer ou non le serveur DNS.

# ici on est déjà dans la "if" du -> on re-sign de la zone <-> on l'a déjà re-signée
if [ ${force} -eq 1 ]; then
        /etc/init.d/bind9 restart
        echo "       +-> Bind server DNS reload"

        exit 0
else
        exit 150
fi

Et dans l’autre script :

status=()
restart_server_dns=0

domains_list="domain_1.tld domain_2.tld"
for domain in ${domains_list}
do
        /root/dnssec-sign-zones.bash -d ${domain} -f /etc/bind/masters/${domain}.hosts

        status+=( "$(printf "%d\n" $?)" )
done

Et là je reboucle et si je trouve un 150 en sortie je redémare le serveur.

for code in "${status[@]}"; do

        #echo "Code : ${code}"

        if [ ${code} -eq 150 ]; then
                restart_server_dns=1
        fi
done

if [ ${restart_server_dns} -eq 1 ]; then

        /etc/init.d/bind9 restart
        echo "+-> Bind server DNS reloading|restarting"

fi

Simple :smiley:

On peut faire mieux c’est sûr :wink: :innocent:

Bon, que la journée soit bonne et productive.

Romain

Peut-être, mais même avant que je t’apporte un peu d’aide, c’est déjà nettement mieux que ce que j’avais pu faire dans mes premiers scripts.

Et puis il y a tellement longtemps (environ 7 ans) que je n’ai pas eu besoin d’utiliser la commande bind que je serai bien en peine de pouvoir t’aider dans ce domaine car je me doute qu’il doit y avoir beaucoup de choses qui ont évolué.

Ouais :rofl: :blush: Bon dimanche @MicP

J’ai changé un -eq en -le ^^^ çà buggué mon script → avant la déclaration du resign=1 :confused: Ligne je n’sais plus combien :wink:

Bonjour,

Bon, en passant :rofl:

Mon script commentaire 8 pour mettre à jour périodiquement mes zones DNSSEC ne sert à rien !

:wave:

:blush:

:face_with_raised_eyebrow:

:rofl:

Les zones se mettent à jour seules. Alors, je ne sais pas encore comment, mais j’ai remarqué çà grâce à zw3b.blog | DNSViz.

Çà me créent des journaux de mise à jours dynamique (des fichiers « .jnl ») que l’on peut lire de cette manière :

root@lv1.dns:~ # named-journalprint /etc/bind/masters/zw3b.blog.hosts.signed.jnl
del zw3b.blog.          3600    IN      SOA     dns.lab3w.fr. hostmaster.lab3w.fr. 2022101707 300 60 420 60
del w1w.zw3b.blog.              3600    IN      RRSIG   AAAA 8 3 3600 20221116142413 20221017142413 13710 zw3b.blog. p6yU9/8et+/Jzg/iDP........fq6Uiil72mVpTsp0OUzu9 8Dw=
del o-romain-jaillet-ramey.zw3b.blog. 3600 IN RRSIG     CNAME 8 3 3600 20221116142413 20221017142413 13710 zw3b.blog. nidERqWbmdtEpDQEd0........1XydvymmAbkbJ 4Pk=
del *.zw3b.blog.                60      IN      RRSIG   NSEC 8 2 60 20221116142413 20221017142413 13710 zw3b.blog. pif+pkemCqmLg34h6zYx........7KvsxJEzk0ZK5VnhRQ+Zw/Ex sXg=
del dl.zw3b.blog.               60      IN      RRSIG   NSEC 8 3 60 20221116142413 20221017142413 13710 zw3b.blog. GTO7D4uFRI6+x7hh/J........Nj+G1JECUXhyQWhDjggi7JOUU2jh h1k=
del dl.zw3b.blog.               3600    IN      RRSIG   CNAME 8 3 3600 20221116142413 20221017142413 13710 zw3b.blog. NTSsxTA........VPzXIr+C hpE=
del ksso0s.zw3b.blog.   3600    IN      RRSIG   CNAME 8 3 3600 20221116142413 20221017142413 13710 zw3b.blog. UXziiCfzHkdX........ASrlJSJ496HWNCeOe9/sCN2TjCuOU1tpphR9wHnXTCB2X +Ck=
del lab3w.zw3b.blog.    3600    IN      RRSIG   CNAME 8 3 3600 20221116142413 20221017142413 13710 zw3b.blog. lD+nzBHapGI........+pirrYh8jRw7C/vssWsnIWe4imBYM/7byev4Xop5Bay Xi0=
del _dmarc.w1a.zw3b.blog.       60      IN      RRSIG   NSEC 8 4 60 20221116142413 20221017142413 13710 zw3b.blog. IVtK13cES62dsad/Sk........af2RCpRwDuyiDtV+kP3 j5M=
del ksso0s.zw3b.blog.   60      IN      RRSIG   NSEC 8 3 60 20221116142413 20221017142413 13710 zw3b.blog. H7bSlIVZL7Br7HTZUyjHHW8It........ ws3dJ/Sr56Ssw2Jz8bViyde6oYTjJbxLjschMr6hSiQx/zbpyjvzQc6l WQk=
del _dmarc.w1a.zw3b.blog.       10800   IN      RRSIG   TXT 8 4 10800 20221116142413 20221017142413 13710 zw3b.blog. GyP6OEQTGEyBIpG/........8qF36+/ ikCXoJOvIIOlpmtFM0HBc9NVPQUVe/nzJD6UElz664MDH3RfvS86784w HJI=
del lab3w.zw3b.blog.    60      IN      RRSIG   NSEC 8 3 60 20221116142413 20221017142413 13710 zw3b.blog. JtwbLMeUnfc++9GFntleNSW2jiBrFmE........zJSiEW0R+EgTOBP6YFSU6EXOlLTX0yUw8BkbL Ow8=
del zw3b.blog.          3600    IN      RRSIG   SOA 8 2 3600 20221209022414 20221109012414 13710 zw3b.blog. VGBbTp2pl+YMB52ls5NpLctr2MV7........+UKTO9XPADTcjozOU7jxiT7wJ G2A=
.....
add zw3b.blog.          3600    IN      SOA     dns.lab3w.fr. hostmaster.lab3w.fr. 2022101708 300 60 420 60
add w1w.zw3b.blog.              3600    IN      RRSIG   AAAA 8 3 3600 20221209015804 20221109012414 13710 zw3b.blog. OQ+OgLNhWvsHg7s1MFZ........Wiiw4jXElmUpX5SY7Gll0qIF XNU=
add o-romain-jaillet-ramey.zw3b.blog. 3600 IN RRSIG     CNAME 8 3 3600 20221209015804 20221109012414 13710 zw3b.blog. H6dOOebCrEtBoq........GVW5MoXW6skti28g6F ep8=
add *.zw3b.blog.                60      IN      RRSIG   NSEC 8 2 60 20221209015804 20221109012414 13710 zw3b.blog. KprpU5DhZn9vV19........EzfAQO18ZwgyM4OP18DbkeQ3eHyTqOr/2M 1No=
add dl.zw3b.blog.               60      IN      RRSIG   NSEC 8 3 60 20221209015804 20221109012414 13710 zw3b.blog. WpyyiEw6AAGV........IYFkV1xUDCy Yys=
add dl.zw3b.blog.               3600    IN      RRSIG   CNAME 8 3 3600 20221209015804 20221109012414 13710 zw3b.blog. K9317AJat9UGG........KITo6NqqEEoDQ58Pl Iu4=
add ksso0s.zw3b.blog.   3600    IN      RRSIG   CNAME 8 3 3600 20221209015804 20221109012414 13710 zw3b.blog. WqU/6k7goFERbrpf........gmOHngZOExep0sp3P4lHw +Tk=
add lab3w.zw3b.blog.    3600    IN      RRSIG   CNAME 8 3 3600 20221209015804 20221109012414 13710 zw3b.blog. ZZN/WVgS13........0+Y4w3qqXUyiBPAJ xXY=
add _dmarc.w1a.zw3b.blog.       60      IN      RRSIG   NSEC 8 4 60 20221209015804 20221109012414 13710 zw3b.blog. SUtLerSthFOU7........xmGGwUYLyo0YFFugGb3blQ 6xA=
add ksso0s.zw3b.blog.   60      IN      RRSIG   NSEC 8 3 60 20221209015804 20221109012414 13710 zw3b.blog. j8lFOrApsZ8nE........786I3 hJw=
add _dmarc.w1a.zw3b.blog.       10800   IN      RRSIG   TXT 8 4 10800 20221209015804 20221109012414 13710 zw3b.blog. nxnr9zq1O........vV+WZllgfa n3E=
add lab3w.zw3b.blog.    60      IN      RRSIG   NSEC 8 3 60 20221209015804 20221109012414 13710 zw3b.blog. JH/wCkT23/vG2f0uBSbiuIiZ33........o2ztG P6Y=

La valeur de l’inception et de l’expiration sont donc récupérer depuis les valeurs de NSEC(3)PARAM

NSEC : NextSECure

Il faut que j’essaie çà !

Bonne journée.

Salutations,
Romain

Bonjour,

J’ai enfin installé Let’s Encrypt, « une » autorité de certification gratuite, automatisée et ouverte proposée par l’Internet Security Research Group (ISRG) à but non lucratif.

Le Plugin FireFox « DNSSEC/DANE Validator (Validate DNSSEC & DANE using DoH) » fonctionne très bien, j’ai ma clé verte : l’hôte est sécurisé DNSSEC et DANE valide.

Je me disais que je vais devoir créer un script pour mettre à jour les RR (Ressource Records) TLSA par nsupdate juste après les MàJ (Mises à Jour) des certificats.

Il « pourrait » y avoir un getops à certbot et/ou acmesh pour mettre à jour les valeurs TLSA des nouveaux certificats.

Bonne journée.

Note de Moi-même : J’ai trouvé un autre plugin FireFox de visualisation DNSSEC d’ Antoine POPINEAU, un bon (bonne personne :wink: ) français vu son nom de famille :smiley: Essayez, si, cela vous plaît.

:wink:

Bonjour,

Pour DANE (DNS based Authentication of Named Entities) et la ressource record TLSA ( Transport Layer Security Authentication), comment puis-je récupérer la date d’expiration des certificats de Let’s Encrypt sans interroger le certificat local ?

Je pense à DoHjs, mais je ne vois pas comment « injecter » une demande sans API (cliente) autorisée (moi, un de mes serveurs) - ll faut activé de l’option avancée, « envoyer le DNSSEC OK (bit DO) ».

En envoyant depuis le formulaire DoHjs qui me retourne bien un « JSON object data » avec :

"questions": [
        {
            "name": "_443._tcp.zw3b.eu",
            "type": "TLSA",
            "class": "IN"
        }
    ],
"answers": [
        {
            "name": "_443._tcp.zw3b.eu",
            "type": "TLSA",
            "ttl": 3600,
            "class": "IN",
            "flush": false,
        },
        {
            "name": "_443._tcp.zw3b.eu",
            "type": "RRSIG",
            "ttl": 3600,
            "class": "IN",
            "flush": false,
            "data": {
                "typeCovered": "TLSA",
                "algorithm": 8,
                "labels": 4,
                "originalTTL": 3600,
                "expiration": 1672840023,
                "inception": 1670244423,
                "keyTag": 45480,
                "signersName": "zw3b.eu",
                "signature": "Di...fw"
            }
        }
    ],
    .....

Je vois bien un timestamp « inception » et « expiration » mais comment puis-je récupérer cette valeur depuis un script ?

Qui correspond à l’inception et l’expiration du certificat SSL → cooL :slight_smile:DoHjs y arrive (CF résultat du dessus).

16:55:50 root@dc.w3a:~ $ echo 'TLSA Date Inception' : $(date '+%F %T' -d '@1670244423')
TLSA Date Inception : 2022-12-05 13:47:03
16:55:57 root@dc.w3a:~ $ echo 'TLSA Date Expiration' : $(date '+%F %T' -d '@1672840023')
TLSA Date Expiration : 2023-01-04 14:47:03

Qui a/aurait une autre solution (Full Linux) pour que je puisse mettre à jour mes RR TLSA à la mise à jour des certificats SSL/TLS que Let’s Encrypt me re-génére tous les 3 mois par NSUPDATE histoire d’être toujours valide DANE ?

Bon, je vais installer la librairie JS GitHub DoHjs quelque part - exemple HTML, BIN :smiley:

Par OpenSSL est-ce possible - ou - sur une base publique de Let’s Encrypt ?

Merci.

J’ajoute l’imprime écran du certificat :

zw3b_eu-letsencrypt

Validité :
Pas avant : Thu, 01 Dec 2022 14:33:48 GMT
Pas après : Wed, 01 Mar 2023 14:33:47 GMT

Ce ne sont pas les même minutes/secondes :rofl: :face_with_raised_eyebrow:

Salutations.

Romain