
Outil pour récupérer/actualiser les ancres de confiance de la zone racine DNS
Cet outil récupère l'ancre de confiance racine DNSSEC actuelle depuis IANA, la valide cryptographiquement, et écrit la KSK (Key Signing Key) racine sous forme d'enregistrements DNSKEY et DS.
Il nécessite Python 3.10+ et l'outil en ligne de commande OpenSSL. Il n'y a aucune autre dépendance.
La validation de signature utilise un certificat CA intégré à l'outil lui-même, de sorte que les ancres de confiance sont vérifiées cryptographiquement, que la vérification du certificat HTTPS réussisse ou non.
Installez depuis le dépôt :
pip install .
Cela fournit une commande get-trust-anchor.
Exécutez la commande installée :
get-trust-anchor
Ou invoquez-la en tant que module Python :
python -m get_trust_anchor
| Option | Description |
|---|---|
--local FILE | Utiliser un fichier XML d'ancre de confiance local au lieu de le récupérer depuis IANA |
--local-sig FILE | Utiliser un fichier de signature local au lieu de le récupérer depuis IANA |
--root-ca FILE | Utiliser un certificat CA racine personnalisé au lieu de celui intégré |
--no-validation | Ignorer la validation de signature |
--ksks-from-trust-anchor | Extraire les KSK directement depuis le XML de l'ancre de confiance au lieu de les récupérer via DNS |
--keep | Conserver les fichiers temporaires (XML et signature) après l'exécution |
--print-dnskey | Afficher les enregistrements DNSKEY sur stdout au lieu d'écrire des fichiers |
--print-ds | Afficher les enregistrements DS sur stdout au lieu d'écrire des fichiers |
--version | Afficher la version de l'outil et quitter |
Par défaut, l'outil écrit deux fichiers dans le répertoire courant :
ksk-as-dnskey.txt -- les KSK racine sous forme d'enregistrements DNSKEYksk-as-ds.txt -- les KSK racine sous forme d'enregistrements DSUtilisez --print-dnskey ou --print-ds pour afficher les enregistrements sur stdout
à la place, ce qui convient au piping :
get-trust-anchor --print-ds | grep "^. IN DS"
Installez avec les dépendances de développement :
pip install -e ".[dev]"
Exécutez les tests :
pytest
Vérifiez le formatage, le lint et les types :
ruff format --check .
ruff check .
ty check
Pour publier une nouvelle version sur GitHub, incrémentez version dans
pyproject.toml, validez la modification, puis poussez un tag correspondant :
git tag v1.0.0
git push origin v1.0.0
Pousser un tag v* déclenche le workflow de publication,
qui construit la sdist/wheel et publie une GitHub Release avec ces fichiers joints.
BSD 2-Clause. Voir LICENSE pour plus de détails.