Exchange Server, güvenli e-posta trafiği ve kullanıcıların Outlook Web App (OWA), ActiveSync ve Autodiscover gibi servislerle şifreli bağlantı kurabilmesi için mutlaka geçerli ve güvenilir bir SSL sertifikası gerektirir.
Varsayılan olarak gelen self-signed (kendinden imzalı) sertifikalar, istemci cihazlar ve tarayıcılar tarafından güvenilir kabul edilmez. Bu nedenle, üretim ortamlarında genellikle ücretli SAN (Subject Alternative Name) SSL sertifikaları kullanılır. Ancak küçük işletmeler veya test ortamları için ücretli sertifikalar maliyetli olabilir.
İşte bu noktada, Let’s Encrypt bize ücretsiz ve otomatik yenilenebilen SSL sertifikaları sunar. Bu makalede, Win-ACME istemcisi kullanılarak Exchange Server 2019 için ücretsiz Let’s Encrypt SAN SSL sertifikasının kurulumu ve otomatik yenileme ayarları adım adım gösterilmektedir.
Gereksinimler
Kurulumdan önce aşağıdaki şartların sağlanmış olması gerekir:
- Exchange Server 2019/2016/2013 kurulu olmalı
- OWA ve diğer servislerin iç/dış URL’leri yapılandırılmış olmalı
- Exchange sunucusuna 80 (HTTP) ve 443 (HTTPS) portlarından dışarıdan erişilebilmelidir (Firewall ve NAT ayarları yapılmalı)
- Public DNS üzerinde aşağıdaki A kayıtları oluşturulmalıdır:
- mail.kadirkozan.com → Ana sertifika adı
- webmail.kadirkozan.com
- autodiscover.kadirkozan.com
Adım 1 – Win-ACME’nin İndirilmesi ve Çalıştırılması
- Win-ACME aracını resmi sitesi üzerinden indiriniz. https://www.win-acme.com/
- Zip dosyasını çıkararak
C:\Tools\win-acmedizinine taşıyınız. wacs.exedosyasına sağ tıklayıp Run as administrator seçeneğiyle çalıştırın.
Adım 2 – Sertifika Oluşturma Menüsü
Program açıldığında aşağıdaki menü karşınıza gelir.
Burada M (Create certificate – full options) seçeneğini seçiyoruz.

Adım 3 – Alan Adlarının Girilmesi
“Manual input” seçeneğini (2) seçiyoruz ve sertifikaya dahil etmek istediğimiz alan adlarını virgülle ayırarak yazıyoruz.

mail.kadirkozan.com, webmail.kadirkozan.com, autodiscover.kadirkozan.com
Bu aşamadan sonra Excahnge Server’in sertifika doğrulaması yapabilmesi için TCP80 ve TCP443 portları NAT ile internetten erişime izin verilmesi gerekiyor. Ayrıca public DNS’de yukarıdaki kayıtların açılmış olması gerekmektedir.
Adım 4 – Doğrulama Yöntemi
Alan adlarının sahipliğini doğrulamak için Let’s Encrypt iki yöntem sunar. Biz http-01 yöntemini seçiyoruz (2 → Serve verification files from memory).
Adım 5 – Anahtar ve Depolama Ayarları
- RSA Key seçiyoruz (2).

Sertifikayı Windows Certificate Store içine kaydediyoruz (4).


Bu adımdan sonra Windows ortamı için win-acme tool dizini içerisinde Powershell script oluşacaktır. Aşağıdaki komutu Exchange Server sunucularında girerek işleme devam ediyoruz.
- Site seçimi için Default Web Site işaretleniyor.
- Daha sonra Exchange servislerine yükleme için script ekleniyor:
./Scripts/ImportExchange.ps1Parametrelerde IIS, SMTP ve IMAP servislerini belirtiyoruz:'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'
./Scripts/ImportExchange.ps1
'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'
IIS HTTPS bindingleri otomatik güncellemek için 1 seçiyoruz.


Sertifika oluşturma işlemi tamamlanınca Win-ACME otomatik olarak Windows Görev Zamanlayıcıya (Task Scheduler) bir görev ekler. Bu görev, sertifika süresini takip ederek 90 gün dolmadan önce otomatik yenileme yapar.
Not : bu aşamaya kadar yapılan butün adımları tek bir komut ile yapmak da mümkündür. Win-ACME’nin bulunduğu dizinde aşağıdaki komutu çalıştırmanız yeterlidir.
wacs.exe --target manual --host mail.kadirkozan.com,webmail.kadirkozan.com,autodiscover.kadirkozan.com --certificatestore My --acl-fullcontrol "network service,administrators" --installation iis,script --installationsiteid 1 --script "./Scripts/ImportExchange.ps1" --scriptparameters "'{CertThumbprint}' 'IIS,SMTP,IMAP' 1 '{CacheFile}' '{CachePassword}' '{CertFriendlyName}'"
Bu komutta yer alan;
--target manual→ Manuel olarak alan adlarını belirtiyoruz.--host→ Sertifika içine dahil edilecek FQDN listesi (SAN kayıtları).--certificatestore My→ Sertifikayı Windows sertifika deposuna kaydeder.--acl-fullcontrol→ Sertifikaya kimlerin tam erişimi olacağını tanımlar.--installation iis,script→ IIS’e binding yapar, ayrıca Exchange’e yüklenmesi için script çağırır.--installationsiteid 1→ IIS’te Default Web Site ID’sini belirtir.--script ./Scripts/ImportExchange.ps1→ Exchange’e import için kullanılan script.--scriptparameters→ Sertifika parmak izi, servisler (IIS, SMTP, IMAP), cache bilgisi ve friendly name gibi parametreleri aktarır.
Bu komut çalıştığında menüde manuel seçtiğimiz tüm adımlar otomatik olarak tamamlanır.
Exchange Server Sertifika Kontrolleri
Kurulumdan sonra sertifikanın doğru şekilde eklendiğini kontrol etmek için:
Exchange Admin Center (ECP) üzerinden kontrol
- ECP → Servers > Certificates bölümüne girin.
- Yeni oluşturulan Let’s Encrypt sertifikasını göreceksiniz.
- Durumu “Valid” olmalı.
- Sertifika hangi servislerde atanmışsa (IIS, SMTP, IMAP) burada da listelenir.
PowerShell ile kontrol
Exchange Management Shell üzerinden aşağıdaki komutla yüklü sertifikaları listeleyebilirsiniz:
Get-ExchangeCertificate | fl FriendlyName,Subject,Services,Thumbprint,NotAfter
Subjectkısmında alan adlarınız (mail.sistemcheck.com vb.) görünmeli.Servicesbölümünde IIS, SMTP, IMAP işaretli olmalı.NotAftersertifikanın geçerlilik tarihini gösterir (Let’s Encrypt → 90 gün).
Dışarıdan SSL testi
Tarayıcı üzerinden OWA (https://mail.kadirkozan.com/owa) açın, sertifika güvenilir görünmeli.
Dış kontrol için:
- Qualys SSL Labs Test https://www.ssllabs.com/ssltest
- DigiCert SSL Checker https://www.digicert.com/help/