
Strumento per recuperare/aggiornare gli anchor di fiducia della Root Zone DNS
Questo strumento recupera il trust anchor root DNSSEC corrente da IANA, lo convalida crittograficamente e scrive la KSK (Key Signing Key) root come record DNSKEY e DS.
Richiede Python 3.10+ e lo strumento da riga di comando OpenSSL. Non ci sono altre dipendenze.
La convalida della firma utilizza un certificato CA incorporato nello strumento stesso, quindi i trust anchor sono verificati crittograficamente indipendentemente dal fatto che il controllo dei certificati HTTPS abbia successo.
Installa dal repository:
pip install .
Questo fornisce un comando get-trust-anchor.
Esegui il comando installato:
get-trust-anchor
Oppure invoca come modulo Python:
python -m get_trust_anchor
| Opzione | Descrizione |
|---|---|
--local FILE | Usa un file XML di trust anchor locale invece di recuperarlo da IANA |
--local-sig FILE | Usa un file di firma locale invece di recuperarlo da IANA |
--root-ca FILE | Usa un certificato root CA personalizzato invece di quello integrato |
--no-validation | Salta la convalida della firma |
--ksks-from-trust-anchor | Estrae le KSK direttamente dall'XML del trust anchor invece di recuperarle dal DNS |
--keep | Mantiene i file temporanei (XML e firma) dopo l'esecuzione |
--print-dnskey | Stampa i record DNSKEY su stdout invece di scrivere file |
--print-ds | Stampa i record DS su stdout invece di scrivere file |
--version | Stampa la versione dello strumento ed esce |
Per impostazione predefinita, lo strumento scrive due file nella directory corrente:
ksk-as-dnskey.txt -- KSK root come record DNSKEYksk-as-ds.txt -- KSK root come record DSUsa --print-dnskey o --print-ds per stampare i record su stdout
invece, adatto per il piping:
get-trust-anchor --print-ds | grep "^. IN DS"
Installa con le dipendenze di sviluppo:
pip install -e ".[dev]"
Esegui i test:
pytest
Verifica formattazione, lint e tipi:
ruff format --check .
ruff check .
ty check
Per pubblicare una nuova versione su GitHub, incrementa version in
pyproject.toml, esegui il commit, poi invia un tag corrispondente:
git tag v1.0.0
git push origin v1.0.0
Il push di un tag v* attiva il workflow di rilascio,
che compila sdist/wheel e pubblica una GitHub Release con essi allegati.
BSD 2-Clause. Vedi LICENSE per i dettagli.