Image for post
Image for post
image from greengeeks.com

Asp.NET Core geliştirme ortamında SSL kullanmak

Visual Studio & IIS Express kullanarak geliştirme ortamında SSL kullanmak çok da zor değil. Visual Studio bir kaç adımda sizin için bir test sertifikası oluşturup yeni bir binding yaratabiliyor. Peki ya Linux/Mac üzerinde Asp.NET Core geliştiriyorsak? IIS yok, VS kolaylıklar diyarı yok. Sadece bir metin editörü ve Asp.NET Core var.

Öncelikle bir durum analizi yapalım. Asp.NET Core ile geliştirdiğimiz uygulamalar artık IIS üzerinde değil Kestrel üzerinde koşacak. Yeoman Asp.NET eklentisi ile boş bir web uygulaması açtığınızda main metodunuz aşağıdaki gibi görünecektir.

Burada odaklanmamız gereken yer 10. satırdaki UseKestrel() ifadesi. Bu ifade web server olarak varsayılan ayarlarıyla Kestrel kullanacağımıza işaret ediyor. Kestrel’e https kullanmasını söylemek için ayarlarıyla oynamalıyız.

Önce project.json dosyasına Microsoft.AspNetCore.Server.Kestrel.Https bağımlılığını ekliyoruz. Ardından UseKestrel() ifadesini aşağıdaki hale getiriyoruz.

.UseKestrel(options => {
options.UseHttps("testCert.pfx", "password");
})

Burada Kestrel’e https kullanmasını söyledik. Sertifika olarak da “password" şifreli testCert.pfx dosyasını verdik. Fakat elimizde böyle bir dosya yok. OpenSSL kullanarak kendi SSL sertifikamızı oluşturabiliriz. Önce eğer makinenizde yoksa OpenSSL kurun. Ardından aşağıdaki 3 komutu sırasıyla çalıştırarak testCert.pfx dosyasını edinebilirsiniz.

openssl genrsa 2048 > private.pem

openssl req -x509 -new -key private.pem -out public.pem

openssl pkcs12 -export -in public.pem -inkey private.pem -passout pass:password -out testCert.pfx

Artık elimizde testCert.pfx dosyamız var. Bu dosyayı uygulamanın root dizinine ekleyebiliriz.

Son olarak http ve https için uygulama portlarını atıyoruz.

.UseUrls("http://localhost:5000","https://localhost:5001")

Main methodunun son hali aşağıdaki gibi olacaktır.

Artık https://localhost:5001 ile SSL kullanan porta, http://localhost:5000 kullanarak da SSL kullanmayan porta erişebiliriz.

Kolay gelsin.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store