ZeroSSL, hem ACME protokolü hem de kendi REST API'si ile sertifika sunan bir CA'dır. API tarafında sertifika oluşturma, doğrulama ve indirme işlemleri erişim anahtarıyla yapılır.
Erişim anahtarı
ZeroSSL hesabınızın geliştirici bölümünden bir erişim anahtarı (access key) alırsınız ve isteklere access_key parametresi olarak eklersiniz. Anahtar parola gibi gizli tutulmalıdır; bu nedenle betiklerde ortam değişkeninden okuyun.
Akış
- CSR ile sertifika oluşturma isteği gönderilir.
- Dönen yanıttaki doğrulama bilgisine göre DNS CNAME veya HTTP dosya doğrulaması hazırlanır.
- Doğrulama tetiklenir ve durum sorgulanır.
- Sertifika "issued" olunca indirme uç noktasından alınır.
curl -X POST "https://api.zerossl.com/certificates?access_key=$ZEROSSL_KEY" \
--data-urlencode "certificate_domains=ornek.com.tr,www.ornek.com.tr" \
--data-urlencode "certificate_validity_days=90" \
--data-urlencode "certificate_csr@csr.txt"
Parametre adları örnek niteliğindedir; güncel ayrıntı için ZeroSSL API belgesini kontrol edin. URL içinde anahtar taşımak, günlük kayıtlarında görünme riski yaratır; mümkünse istekleri kayıt altına alınmayan bir ortamdan yapın.
ACME ile alternatif
ZeroSSL ACME kullanımında External Account Binding (EAB) bilgileri gerekir. Certbot veya acme.sh gibi istemcilerle bu bilgiler bir kez tanımlanır, sonrasında yenileme otomatik işler.
Dikkat edilecekler
- Ücretsiz planlarda sertifika sayısı ve türü sınırlı olabilir; koşulları hesabınızda kontrol edin.
- Kısa ömürlü sertifikalarda yenilemeyi otomatikleştirmeden üretim ortamına geçmeyin.
- Kurumsal doğrulama (OV/EV) ve tek noktadan destek gerekirse SSL sertifikaları arasından seçim yapabilirsiniz.
İstek hatalarında SSL sorun giderici işinize yarayabilir.
Pratik ipuçları
- Doğrulama için CNAME kaydı kullanıyorsanız kaydın DNS'te yayıldığını dig ile kontrol edin.
- Sertifika ömrü kısa olduğundan yenileme işini mutlaka zamanlanmış bir göreve bağlayın.
- Erişim anahtarını yenilerseniz eski anahtarı kullanan tüm betikleri güncelleyin.
Sertifikayı indirdikten sonra zincir dosyasının da birlikte kurulduğundan emin olun.