
DNS रूट ज़ोन ट्रस्ट एंकरों को प्राप्त/रिफ़्रेश करने के लिए टूल
यह टूल IANA से वर्तमान DNSSEC रूट ट्रस्ट एंकर प्राप्त करता है, इसका क्रिप्टोग्राफ़िक रूप से सत्यापन करता है, और रूट KSK (Key Signing Key) को DNSKEY और DS रिकॉर्ड के रूप में लिखता है।
इसके लिए Python 3.10+ और OpenSSL कमांड लाइन टूल की आवश्यकता होती है। इसके अलावा कोई अन्य निर्भरता नहीं है।
हस्ताक्षर सत्यापन टूल में ही अंतर्निहित CA प्रमाणपत्र का उपयोग करता है, इसलिए HTTPS प्रमाणपत्र जाँच सफल हो या न हो, ट्रस्ट एंकर क्रिप्टोग्राफ़िक रूप से सत्यापित होते हैं।
रिपॉज़िटरी से इंस्टॉल करें:
pip install .
यह एक get-trust-anchor कमांड प्रदान करता है।
इंस्टॉल किए गए कमांड को चलाएँ:
get-trust-anchor
या Python मॉड्यूल के रूप में आमंत्रित करें:
python -m get_trust_anchor
| विकल्प | विवरण |
|---|---|
--local FILE | IANA से प्राप्त करने के बजाय स्थानीय ट्रस्ट एंकर XML फ़ाइल का उपयोग करें |
--local-sig FILE | IANA से प्राप्त करने के बजाय स्थानीय हस्ताक्षर फ़ाइल का उपयोग करें |
--root-ca FILE | अंतर्निहित के बजाय कस्टम रूट CA प्रमाणपत्र का उपयोग करें |
--no-validation | हस्ताक्षर सत्यापन छोड़ें |
--ksks-from-trust-anchor | DNS से प्राप्त करने के बजाय सीधे ट्रस्ट एंकर XML से KSKs निकालें |
--keep | चलाने के बाद अस्थायी फ़ाइलें (XML और हस्ताक्षर) रखें |
--print-dnskey | फ़ाइलें लिखने के बजाय DNSKEY रिकॉर्ड stdout पर प्रिंट करें |
--print-ds | फ़ाइलें लिखने के बजाय DS रिकॉर्ड stdout पर प्रिंट करें |
--version | टूल का संस्करण प्रिंट करें और बाहर निकलें |
डिफ़ॉल्ट रूप से, टूल वर्तमान निर्देशिका में दो फ़ाइलें लिखता है:
ksk-as-dnskey.txt -- DNSKEY रिकॉर्ड के रूप में रूट KSKsksk-as-ds.txt -- DS रिकॉर्ड के रूप में रूट KSKsरिकॉर्ड को stdout पर प्रिंट करने के लिए --print-dnskey या --print-ds का उपयोग करें, जो पाइपिंग के लिए उपयुक्त है:
get-trust-anchor --print-ds | grep "^. IN DS"
विकास निर्भरताओं के साथ इंस्टॉल करें:
pip install -e ".[dev]"
परीक्षण चलाएँ:
pytest
फ़ॉर्मेटिंग, लिंट और प्रकारों की जाँच करें:
ruff format --check .
ruff check .
ty check
GitHub पर एक नया संस्करण प्रकाशित करने के लिए, pyproject.toml में version को बढ़ाएँ, इसे कमिट करें, फिर एक मिलता-जुलता टैग पुश करें:
git tag v1.0.0
git push origin v1.0.0
v* टैग पुश करने से release workflow ट्रिगर होता है, जो sdist/wheel बनाता है और उन्हें संलग्न करके एक GitHub Release प्रकाशित करता है।
BSD 2-Clause। विवरण के लिए LICENSE देखें।