
أداة لجلب/تحديث مراسي الثقة في منطقة جذر DNS
تجلب هذه الأداة مرساة الثقة الجذرية الحالية لـ DNSSEC من IANA، وتتحقق منها تشفيريًا، وتكتب مفتاح توقيع المفتاح الجذري (KSK) كسجلات DNSKEY وDS.
تتطلب Python 3.10+ وأداة سطر الأوامر OpenSSL. لا توجد تبعيات أخرى.
يستخدم التحقق من التوقيع شهادة CA مضمّنة في الأداة نفسها، لذا يتم التحقق من مراسي الثقة تشفيريًا بغض النظر عن نجاح التحقق من شهادة HTTPS.
ثبّت من المستودع:
pip install .
يوفر هذا الأمر get-trust-anchor.
شغّل الأمر المثبّت:
get-trust-anchor
أو استدعِه كوحدة Python:
python -m get_trust_anchor
| الخيار | الوصف |
|---|---|
--local FILE | استخدام ملف XML محلي لمرساة الثقة بدلاً من الجلب من IANA |
--local-sig FILE | استخدام ملف توقيع محلي بدلاً من الجلب من IANA |
--root-ca FILE | استخدام شهادة root CA مخصصة بدلاً من المضمّنة |
--no-validation | تخطي التحقق من التوقيع |
--ksks-from-trust-anchor | استخراج مفاتيح KSK مباشرةً من ملف XML الخاص بمرساة الثقة بدلاً من الجلب من DNS |
--keep | الاحتفاظ بالملفات المؤقتة (XML والتوقيع) بعد التشغيل |
--print-dnskey | طباعة سجلات DNSKEY إلى stdout بدلاً من كتابة الملفات |
--print-ds | طباعة سجلات DS إلى stdout بدلاً من كتابة الملفات |
--version | طباعة إصدار الأداة والخروج |
بشكل افتراضي، تكتب الأداة ملفين إلى الدليل الحالي:
ksk-as-dnskey.txt -- مفاتيح KSK الجذرية كسجلات DNSKEYksk-as-ds.txt -- مفاتيح KSK الجذرية كسجلات DSاستخدم --print-dnskey أو --print-ds لطباعة السجلات إلى stdout
بدلاً من ذلك، وهو مناسب للتمرير عبر الأنابيب:
get-trust-anchor --print-ds | grep "^. IN DS"
ثبّت مع تبعيات التطوير:
pip install -e ".[dev]"
شغّل الاختبارات:
pytest
تحقق من التنسيق والفحص والأنواع:
ruff format --check .
ruff check .
ty check
لنشر إصدار جديد على GitHub، ارفع رقم version في
pyproject.toml، ثم أجرِ commit، ثم ادفع وسمًا مطابقًا:
git tag v1.0.0
git push origin v1.0.0
يؤدي دفع وسم v* إلى تشغيل سير عمل الإصدار،
الذي يبني sdist/wheel وينشر إصدار GitHub مع إرفاقهما.
BSD 2-Clause. راجع LICENSE للتفاصيل.