DevOps
Windows'ta Lokal SSL Sertifikası Nasıl Oluşturulur

Windows'ta Lokal SSL Sertifikası Nasıl Oluşturulur

Son zamanlarda haberlerde ortaya çıkan tüm güvenlik sorunları ve bilgisayar korsanlığı olaylarıyla, güvenliğin her zaman açık olduğu web sitelerini uygulamak temel hale geldi. CMS sağlayıcıları geliştirme ortamları için bile güvenli bağlantılar gerektirmeye başladı. Çoğu durumda, her geliştiricinin yerel geliştirici ortamı için kriptografik sertifikalar satın almak mümkün değil, ancak kendinden imzalı sertifikaları kolayca ve ücretsiz olarak edinebilirsiniz. Bu sertifikaların yerel ortamlarda kullanılması uygun ve uygulamanın geliştirilmesi sırasında güvenlik gereksinimlerini karşılayacaktır. Ancak, kendinden imzalı sertifikalar ASLA üretim veya halka açık web siteleri için kullanılmamalıdır.

Windows 10'daki PowerShell, New-SelfSignedCertificate komutunu içerir. IIS'deki çok basit "Create Self-Signed Certificate" seçeneğinden daha fazla esneklik sağlar ve kullanımı MakeCert.exe kadar karmaşık değildir.

Aşağıda, IIS'deki yerel siteler için kendinden imzalı sertifikaların kullanımına ilişkin hızlı bir genel bakış ve kılavuz sağlayacağım - ve web tarayıcısından gelen "geçersiz sertifika" uyarısını önleyeceğim. Başlamadan önce, siteniz için yerel bir DNS adına karar verdiğinizden ve bu girişi yerel ana bilgisayar dosyanıza eklediğinizden emin olun. Bu örnek için, yerel sitemiz "sitem.local" olarak adlandırılacaktır.

Yönetici modunda bir PowerShell penceresi açın ve aşağıdaki komutu girin:

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "mysite.local" -FriendlyName "MySiteCert" -NotAfter (Get-Date).AddYears(10)

Bu, mysite.local'a özel, 10 yıl geçerli, kendinden imzalı bir sertifika oluşturacaktır. AddYears işlevindeki değeri değiştirerek yıl sayısını değiştirebilirsiniz.

Sertifika oluşturulduktan sonra, onu Güvenilir Kök Sertifika Yetkilileri deposuna kopyalamanız gerekir. Windows aramasını kullanarak, "Bilgisayar sertifikalarını yönet" seçeneğini görene kadar "sertifika" yazın ve açın ve aşağıdaki adımları takip edin:

  1. Sol panelde, Sertifikalar - Yerel Bilgisayar → Kişisel → Sertifikalar'a gidin
  2. Oluşturulan sertifikayı bulun (bu örnekte "sitem.local" Verilen sütunun altına veya "MySiteCert" Kolay Ad sütununun altına bakın)
  3. Sol panelde Sertifikalar - Yerel Bilgisayar → Güvenilir Kök Sertifika Yetkilileri → Sertifikalar'ı açın (ancak bu bölüme gitmeyin)
  4. Farenin sağ tuşu ile sertifikayı bir önceki adımda açılan konuma sürükleyip bırakın.
  5. Açılır menüden "Buraya Kopyala"yı seçin


IIS'yi açın, sitenize gidin ve siteye bir https bağlaması ekleyin. Ana bilgisayar adını girdiğinizden emin olun, "Sunucu Adı Gösterimi İste" onay kutusunu işaretleyin ve "MySiteCert" SSL sertifikasını (veya sertifika oluşturma sırasında girdiğiniz kolay adı) seçin. Bir web tarayıcısı açıp "https://mysite.local/" girerek sitenizi test edin ve geçersiz sertifika uyarıları almamalısınız.



Mesela "app1.example.local", "app2.example.local" vb. adlı birkaç siteniz olduğunu varsayalım. "example.local" ortak adıyla tek bir sertifika oluşturmak daha kolaydır. Bunu başarmak için aşağıdaki komutu girin:

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -Subject "*.example.local" -DnsName "example.local", "*.example.local" -FriendlyName "LocalStarCert" -NotAfter (Get-Date).AddYears( 10)

Ve tek etki alanı sertifikasıyla aynı adımları gerçekleştirin. IIS'de, her site için https bağlamasında aynı sertifikayı kullanın.