Saat ini dimungkinkan untuk melakukan validasi DNS juga dengan klien LetsEncrypt certbot dalam mode manual. Otomatisasi juga dimungkinkan (lihat di bawah).
Plugin manual
Anda dapat melakukan verifikasi manual - dengan plugin manual.
certbot -d bristol3.pki.enigmabridge.com --manual --preferred-challenges dns certonly
Certbot kemudian akan memberi Anda petunjuk untuk memperbarui data TXT untuk domain secara manual untuk melanjutkan validasi.
Please deploy a DNS TXT record under the name
_acme-challenge.bristol3.pki.enigmabridge.com with the following value:
667drNmQL3vX6bu8YZlgy0wKNBlCny8yrjF1lSaUndc
Once this is deployed,
Press ENTER to continue
Setelah Anda memperbarui catatan DNS, tekan Enter, certbot akan melanjutkan dan jika LetsEncrypt CA memverifikasi tantangan, sertifikat dikeluarkan seperti biasa.
Anda juga dapat menggunakan perintah dengan lebih banyak opsi untuk meminimalkan interaktivitas dan menjawab pertanyaan certbot. Perhatikan bahwa plugin manual belum mendukung mode non-interaktif.
certbot --text --agree-tos --email you@example.com -d bristol3.pki.enigmabridge.com --manual --preferred-challenges dns --expand --renew-by-default --manual-public-ip-logging-ok certonly
Pembaruan tidak berfungsi dengan plugin manual karena berjalan dalam mode non-interaktif. Info lebih lanjut di dokumentasi Certbot resmi .
Pembaruan: kait manual
Dalam versi Certbot baru Anda dapat menggunakan kait , misalnya --manual-auth-hook
, --manual-cleanup-hook
. Hooks adalah skrip eksternal yang dijalankan oleh Certbot untuk melakukan tugas.
Informasi diteruskan dalam variabel lingkungan - misalnya, domain untuk divalidasi, token tantangan. Vars: CERTBOT_DOMAIN
, CERTBOT_VALIDATION
, CERTBOT_TOKEN
.
certbot certonly --manual --preferred-challenges=dns --manual-auth-hook /path/to/dns/authenticator.sh --manual-cleanup-hook /path/to/dns/cleanup.sh -d secure.example.com
Anda dapat menulis handler Anda sendiri atau menggunakan yang sudah ada, ada banyak tersedia, misalnya, untuk Cloudflare DNS.
Info lebih lanjut tentang dokumentasi kait Certbot resmi
Otomasi, Pembaruan, Scripting
Jika Anda ingin mengotomatiskan validasi tantangan DNS, saat ini tidak dimungkinkan dengan vanila certbot. Pembaruan: beberapa otomatisasi dimungkinkan dengan kait Certbot.
Karena itu, kami membuat plugin sederhana yang mendukung scripting dengan otomatisasi DNS. Ini tersedia sebagai certbot-external-auth .
pip install certbot-external-auth
Ini mendukung metode validasi DNS, HTTP, TLS-SNI. Anda dapat menggunakannya dalam mode handler atau mode output JSON.
Mode handler
Dalam mode handler, plugin certbot + memanggil kait eksternal (program, skrip shell, python, ...) untuk melakukan validasi dan instalasi. Dalam prakteknya Anda menulis skrip handler / shell sederhana yang mendapat argumen input - domain, token dan membuat perubahan dalam DNS. Ketika pawang selesai, certbot melanjutkan dengan validasi seperti biasa.
Ini memberi Anda fleksibilitas ekstra, pembaruan juga dimungkinkan.
Mode handler juga kompatibel dengan kait DNS Dehidrasi (mantan letsencrypt.sh). Sudah ada banyak kait DNS untuk penyedia umum (mis., CloudFlare, GoDaddy, AWS). Dalam repositori ada README dengan contoh luas dan contoh penangan.
Contoh dengan kait DNS Dehidrasi :
certbot \
--text --agree-tos --email you@example.com \
--expand --renew-by-default \
--configurator certbot-external-auth:out \
--certbot-external-auth:out-public-ip-logging-ok \
-d "bristol3.pki.enigmabridge.com" \
--preferred-challenges dns \
--certbot-external-auth:out-handler ./dehydrated-example.sh \
--certbot-external-auth:out-dehydrated-dns \
run
Mode JSON
Mode plugin lain adalah mode JSON. Ini menghasilkan satu objek JSON per baris. Ini memungkinkan integrasi yang lebih rumit - misalnya, Ansible atau beberapa manajer penyebaran memanggil certbot. Komunikasi dilakukan melalui STDOUT dan STDIN. Cerbot menghasilkan objek JSON dengan data untuk melakukan validasi, misalnya,
certbot \
--text --agree-tos --email you@example.com \
--expand --renew-by-default \
--configurator certbot-external-auth:out \
--certbot-external-auth:out-public-ip-logging-ok \
-d "bristol3.pki.enigmabridge.com" \
--preferred-challenges dns \
certonly 2>/dev/null
{"cmd": "perform_challenge", "type": "dns-01", "domain": "bs3.pki.enigmabridge.com", "token": "3gJ87yANDpmuuKVL2ktfQ0_qURQ3mN0IfqgbTU_AGS4", "validation": "ejEDZXYEeYHUxqBAiX4csh8GKkeVX7utK6BBOBshZ1Y", "txt_domain": "_acme-challenge.bs3.pki.enigmabridge.com", "key_auth": "3gJ87yANDpmuuKVL2ktfQ0_qURQ3mN0IfqgbTU_AGS4.tRQM98JsABZRm5-NiotcgD212RAUPPbyeDP30Ob_7-0"}
Setelah DNS diperbarui, pemanggil mengirim karakter baris baru ke STDIN dari certbot untuk menandakannya dapat melanjutkan validasi.
Ini memungkinkan otomatisasi dan manajemen sertifikat dari server manajemen pusat. Untuk instalasi, Anda dapat menggunakan sertifikat melalui SSH.
Untuk info lebih lanjut silakan merujuk ke readme dan contoh-contoh di GitHub certbot-external-auth .
EDIT: Ada juga posting blog baru yang menjelaskan masalah validasi DNS dan penggunaan plugin.
EDIT: saat ini kami mengerjakan validasi 2 langkah yang mungkin, akan segera dimatikan.