bg-tutorials

IIS’te CSR Nasıl Oluşturulur

Bu kılavuz, Windows Server üzerinde Microsoft IIS’te (Internet Information Services) CSR (Sertifika İmzalama Talebi) nasıl oluşturulur göstermektedir. İsteği iki şekilde oluşturabilirsiniz: IIS Manager arayüzü üzerinden (klasik tıkla-ve-oluştur sihirbazı) veya PowerShell’den certreq.exe ve bir INF dosyası kullanarak. Her iki yöntem de özel anahtarı sunucuda Windows sertifika deposunda tutar ve Sertifika Yetkilinize (CA) göndereceğiniz bir PKCS #10 talebi üretir.

Öncelikle bilmeniz gereken önemli bir uyarı: IIS Manager sihirbazı, talebe bir Subject Alternative Name (SAN) eklemez ve artık her genel CA, ana bilgisayar adının sadece Common Name içinde değil, SAN içinde de görünmesini gerektirir. Bir SAN’a ihtiyacınız varsa (ve neredeyse her zaman vardır), aşağıdaki certreq.exe yöntemini kullanın veya CSR’ı sunucu dışında CSR Oluşturucu aracımızla oluşturup verilen sertifikayı bir .pfx dosyası olarak içe aktarın.

Güvence altına almak istediğiniz Windows Server’da (veya bir IIS sitesini çalıştıran bir iş istasyonunda) Yönetici olarak oturum açın, ardından IIS sürümünüze uygun bölümü takip edin. Aşağıdaki adımlar, Windows Server 2025, 2022, 2019 ve 2016 üzerindeki IIS 10’u (ayrıca Windows 10 ve Windows 11 istemci üzerindeki IIS 10’u) ve eski altyapılar için daha önceki IIS 8 / 8.5 / 7 / 6 sihirbazlarını kapsar.

IIS 10’da CSR Oluşturma (Windows Server 2016’dan 2025’e)

IIS 10, Windows Server 2016, 2019, 2022 ve 2025 ile birlikte gelen sürümdür, ayrıca Windows 10 ve Windows 11 istemci üzerindeki IIS özelliğidir. Manager arayüzü her sürümde aynıdır.

Adım 1: IIS Manager’ı Açın

  • Win + R tuşlarına basın, inetmgr yazın ve Enter tuşuna basın, veya
  • Başlat menüsünü açın ve Internet Information Services (IIS) Manager için arama yapın.

Adım 2: Server Certificates’i Açın

  • Soldaki Connections panelinde, sunucu adına tıklayın.
  • Orta bölmede (Home), Server Certificates‘e çift tıklayın.

Adım 3: Sertifika Talebini Başlatın

Sağdaki Actions panelinde Create Certificate Request‘e tıklayın. Distinguished Name Properties penceresi açılır.

Adım 4: Distinguished Name Bilgilerini Doldurun

Aşağıdaki konu (subject) bilgilerini girin. Sadece standart ASCII karakterleri kullanın; Latin olmayan harfler talebi bozar:

  • Common Name: güvence altına almak istediğiniz tam nitelikli alan adı (FQDN), örneğin www.example.com. Bir wildcard sertifika için, ana etki alanının önüne bir yıldız işareti koyun, örneğin *.example.com.
  • Organization: şirketinizin tam yasal adı, kayıtlı şekliyle tam olarak yazılmalıdır. OV ve EV sertifikaları için gereklidir. Domain Validation (DV) sertifikaları için bu alan göz ardı edilir, dolayısıyla herhangi bir kısa yer tutucu işe yarar.
  • Organizational unit: IT veya Web gibi bir departman etiketi. Bu özellik genel sertifikalar için kullanımdan kaldırılmıştır (CA/Browser Forumu bunu aşamalı olarak kaldırmıştır), bu nedenle minimum tutun veya pencerenin izin verdiği yerlerde atlayın.
  • City/locality: kuruluşunuzun kayıtlı olduğu şehir, tam olarak yazılmalıdır (örneğin Seattle, SEA değil).
  • State/province: eyalet veya ilin tam adı (örneğin Washington, WA değil).
  • Country/region: iki harfli ISO ülke kodu (örneğin US, GB, DE).

Her alanı doğrulayın ve Next‘e tıklayın.

Adım 5: Kriptografik Hizmet Sağlayıcısını ve Anahtar Uzunluğunu Seçin

Cryptographic Service Provider Properties penceresinde:

  • Cryptographic service provider: Microsoft RSA SChannel Cryptographic Provider‘ı seçin. IIS tarafından HTTPS üzerinden sunulan bir RSA sertifikası için doğru seçim budur. (Microsoft DH SChannel Cryptographic Provider‘ı yalnızca normal web TLS’i için kullanılmayan bir Diffie-Hellman anahtarına ihtiyaç duyduğunuz nadir durumda seçin.)
  • Bit length: 2048‘i seçin. Bu, her genel CA’nın kabul ettiği güncel minimum değerdir. Politikanız daha büyük bir anahtar gerektiriyorsa sadece 3072 veya 4096‘yı seçin; bunun getirisi, biraz daha yavaş TLS el sıkışmaları olacaktır.

Next‘e tıklayın.

Adım 6: CSR Dosyasını Kaydedin

File Name penceresinde, gözat düğmesine tıklayın ve tekrar bulabileceğiniz bir klasör seçin, ardından .txt uzantılı bir dosya adı yazın, örneğin certreq.txt. Varsayılan yol olan C:WindowsSystem32‘yi kabul etmeyin: bu klasörde gezinmek zordur ve UAC’ye bağlı olarak yazma izniniz olmayabilir. Masaüstü veya özel bir C:certs klasörü daha iyi çalışır.

Finish‘e tıklayın. IIS, CSR’ı seçtiğiniz yola yazar ve eşleşen özel anahtarı bu sunucudaki Windows sertifika deposunda beklemede olan bir talep olarak saklar.

Adım 7: CSR’ı Kopyalayın ve CA’ya Gönderin

Kaydedilen dosyayı Notepad’de (veya herhangi bir metin editöründe) açın. Şuna benzer bir blok göreceksiniz:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----

BEGIN NEW CERTIFICATE REQUEST ve END NEW CERTIFICATE REQUEST satırları dahil, tüm bloğu seçin, kopyalayın ve sipariş formunuzdaki CSR alanına yapıştırın. CA talebi doğruladığında ve sertifikanızı verdiğinde, IIS’te SSL sertifikası nasıl kurulur talimatlarını takip edin ve verilen .cer dosyasını bu sunucuda beklemede olan anahtarla eşleştirmek için Complete Certificate Request‘i kullanın.

IIS Manager Sihirbazı SAN Eklemez

Yukarıdaki sihirbaz, tek ana bilgisayar adı Common Name olan bir talep üretir. Modern tarayıcılar ve istemciler (Chromium, Firefox, Safari, .NET, Java, Go) ana bilgisayar adını sadece Subject Alternative Name uzantısına göre doğrular; Common Name, güven kararları için 2017’den itibaren göz ardı edilmektedir. Genel CA’lar, tek isimlik siparişler için CN’yi otomatik olarak bir SAN girdisine kopyalayarak buna yanıt verir, bu nedenle sadece CN içeren bir talep hâlâ bir ana bilgisayar adı için çalışır. Ancak:

  • Bir sertifikada birden fazla ana bilgisayar adına ihtiyacınız varsa (örneğin example.com ve www.example.com, veya çok alanlı bir sertifika), IIS Manager sihirbazı bunları kodlayamaz.
  • CA’nız talepleri kesinlikle gönderildiği şekliyle kabul ediyorsa, eksik bir SAN, tek bir ana bilgisayar adı için bile reddedilebilir.

Tek bir isimden fazlası için, aşağıdaki certreq.exe yöntemini kullanın veya CSR’ı CSR Oluşturucu aracımızla oluşturup verilen sertifikayı bir .pfx olarak IIS’e içe aktarın.

certreq.exe ve Bir INF Dosyası ile CSR Oluşturma (SAN Destekli)

certreq.exe komut satırı aracı, her Windows Server ile birlikte gelir ve bir SAN, anahtar uzunluğu, kesin konu (subject) ve sağlayıcı belirlemenize izin verir. İşlem üç bölümden oluşur: bir talep INF dosyası yazın, CSR’ı oluşturmak için (ve Windows deposunda eşleşen anahtarı) certreq -new‘i çalıştırın, ardından CSR’ı CA’nıza gönderin.

Adım 1: Talep INF Dosyasını Oluşturun

Notepad’i Yönetici olarak açın ve aşağıdaki dosyayı request.inf olarak kaydedin. Subject satırını ve [Extensions] altındaki DNS girdilerini alanınıza uyacak şekilde düzenleyin:

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.example.com&"
_continue_ = "dns=example.com"

Değerler hakkında notlar:

  • Subject: tek satırda, virgülle ayrılmış alanlar. C= içinde iki harfli ISO ülke kodunu kullanın.
  • KeyLength: minimum 2048. Politikanız gerektiriyorsa 3072 veya 4096 ayarlayın.
  • Exportable = TRUE: verilen sertifikayla birlikte özel anahtarı dışa aktarmanıza izin verir (yedekleme veya ikinci bir sunucuya kurmak için). Anahtarın bu makineye kilitli olmasını istiyorsanız FALSE olarak ayarlayın.
  • MachineKeySet = TRUE: anahtarı Yerel Bilgisayar deposunda saklar (IIS’in okuduğu yer). Bunu IIS için açık tutun.
  • 2.5.29.17: Subject Alternative Name için OID. Her ana bilgisayar adı için bir _continue_ satırı ekleyin; sonuncusu hariç her satır & ayırıcısıyla sonlanmalıdır.

Adım 2: CSR’ı Oluşturun

request.inf‘i içeren klasörde yükseltilmiş bir Command Prompt veya PowerShell açın ve şunu çalıştırın:

certreq -new request.inf certreq.txt

certreq, Yerel Bilgisayar deposunda özel anahtarı oluşturur ve PKCS #10 talebini certreq.txt‘ye yazar. Dosyayı açın, tam BEGIN NEW CERTIFICATE REQUEST‘ten END NEW CERTIFICATE REQUEST‘e kadar olan bloğu kopyalayın ve IIS Manager yöntemiyle aynı şekilde sipariş formunuza gönderin.

CA verilen sertifikayı döndürdüğünde, şununla tamamlayın:

certreq -accept certnew.cer

Bu, verilen sertifikayı depoda bekleyen özel anahtarla eşleştirir ve sertifika IIS’te bağlanmaya hazır hale gelir.

Göndermeden Önce CSR’ı Kontrol Edin (İsteğe Bağlı)

Talebi CA’nıza göndermeden önce Common Name, SAN girdileri ve anahtar boyutunu doğrulamakta fayda vardır. Sunucuda, yerleşik certutil aracı talebi okur:

certutil -dump certreq.txt

OpenSSL yüklüyse (Windows onu birlikte getirmez; Shining Light Productions gibi bir sürümden ayrıca kurabilirsiniz), bu komut aynı ayrıntıları yazdırır:

openssl req -noout -text -in certreq.txt

Çevrimiçi bir aracı tercih ediyor musunuz? Talebin içeriğini SSL Dragon’un CSR kod çözücüsüne yapıştırarak Common Name, SAN girdileri ve anahtar boyutunu geri okuyun. Common Name’in istemcilerin kullanacağı ana bilgisayar adıyla eşleştiğini ve gereken her ismin Subject Alternative Name listesinde göründüğünü doğrulayın.

IIS 8 ve 8.5’te CSR Oluşturma (Windows Server 2012 / 2012 R2)

IIS 8 / 8.5 sihirbazı, IIS 10 ile aynıdır. Windows Server 2012 ve 2012 R2, genişletilmiş desteğin sonuna Ekim 2023’te ulaştı, dolayısıyla bu iş yüklerini güncel bir Windows Server sürümüne taşımayı planlayın; bunu yapana kadar aşağıdaki adımlar hâlâ çalışır.

  • Win + R tuşlarına basın, inetmgr yazın ve OK‘a tıklayın. (Alternatif olarak Başlat ekranından Internet Information Services (IIS) Manager‘ı açın.)
  • Connections‘da sunucuyu seçin, ardından Home bölmesinde Server Certificates‘e çift tıklayın.
  • Actions‘da Create Certificate Request‘e tıklayın.
  • Distinguished Name Properties‘te, Common Name, Organization, Organizational unit, City/locality, State/province ve Country/region‘ı yukarıda IIS 10 altında açıklandığı şekilde tam olarak doldurun (yalnızca standart ASCII karakterleri, tam eyalet ve şehir isimleri, iki harfli ülke kodu). Next‘e tıklayın.
  • Cryptographic Service Provider Properties‘te, Microsoft RSA SChannel Cryptographic Provider‘ı seçin ve Bit length‘i 2048 olarak ayarlayın. Next‘e tıklayın.
  • File Name‘de, tekrar bulabileceğiniz bir klasör seçin ve dosyayı .txt uzantısıyla kaydedin (örneğin certreq.txt). Finish‘e tıklayın.
  • Kaydedilen dosyayı Notepad’de açın, BEGIN NEW CERTIFICATE REQUEST‘ten END NEW CERTIFICATE REQUEST‘e kadar olan bloğun tamamını kopyalayın ve sipariş formunuza yapıştırın.

Aynı SAN sınırlaması IIS 8 / 8.5’te de geçerlidir: birden fazla ana bilgisayar adına ihtiyacınız varsa, yukarıdaki certreq.exe yöntemini kullanın.

IIS 7’de CSR Oluşturma (Windows Server 2008 / 2008 R2)

Windows Server 2008 ve 2008 R2, destek süresinin sonunu çok geride bırakmıştır, dolayısıyla IIS 7 sihirbazını henüz değiştiremediğiniz sistemler için eski (legacy) bir işlem olarak ele alın. Akış, IIS 8 / 10 ile aynıdır:

  • Win + R tuşlarına basın, inetmgr yazın ve OK‘a tıklayın, veya Başlat > Yönetimsel Araçlar > Internet Information Services (IIS) Manager‘ı açın.
  • Connections‘da sunucu adını seçin, ardından Server Certificates‘e çift tıklayın.
  • Actions‘da Create Certificate Request‘e tıklayın.
  • Distinguished Name Properties‘te, Common Name, Organization, Organizational unit, City/locality, State/province ve Country/region‘ı IIS 10 altında açıklandığı şekilde girin. Next‘e tıklayın.
  • Cryptographic Service Provider Properties‘te, Microsoft RSA SChannel Cryptographic Provider‘ı ve 2048 bit’i seçin. Next‘e tıklayın.
  • Specify a file name for the certificate request altındaki gözat düğmesine tıklayın, bir klasör seçin, .txt ile biten bir dosya adı yazın ve Finish‘e tıklayın.
  • Kaydedilen dosyayı Notepad’de açın, tam talep bloğunu (BEGIN NEW CERTIFICATE REQUEST ve END NEW CERTIFICATE REQUEST satırları dahil) kopyalayın ve sipariş formunuza yapıştırın.

IIS 5 ve 6’da CSR Oluşturma (Kullanımdan Kaldırıldı)

IIS 5 ve 6 (Windows 2000 Server ve Windows Server 2003), destek süresinin sonunu çok geride bırakmıştır ve genel sitelerde çalıştırılmamalıdır. Bu bölümü, sadece henüz değiştiremediğiniz eski (legacy) altyapıyı bakımını yapıyorsanız kullanın:

  • Başlat > Denetim Masası > Yönetimsel Araçlar > Internet Information Services‘i açın.
  • Default Web Site‘a (veya sitenize) sağ tıklayın ve Properties‘i seçin.
  • Directory Security sekmesini açın ve Server Certificate‘e tıklayın.
  • IIS Certificate Wizard‘da, Create a new certificate‘i seçin ve Next‘e tıklayın.
  • Prepare the request now, but send it later‘ı seçin ve Next‘e tıklayın.
  • Sertifika için açıklayıcı bir isim yazın, Bit length‘i 2048 olarak ayarlayın, diğer onay kutularını işaretlemeden bırakın ve Next‘e tıklayın.
  • Yasal kuruluş adını ve bir Organizational unit (örneğin IT gibi kısa bir etiket kullanın) girin. Next‘e tıklayın.
  • Common Name‘e sitenizin FQDN’sini girin, örneğin www.example.com. Next‘e tıklayın.
  • Country/region, State/province ve City/locality‘yi doldurun, ardından Next‘e tıklayın.
  • Bir klasör ve dosya adı seçin (.txt olarak kaydedin), Next‘e tıklayın, özeti inceleyin ve CSR’ı yazmak için tekrar Next‘e tıklayın.
  • Dosyayı Notepad’de açın, tam talep bloğunu kopyalayın ve sipariş formunuza yapıştırın.

CA, CSR’ınızı doğruladıktan ve sertifikayı verdikten sonra, IIS SSL kurulum talimatları ile devam edin.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.