Tuesday, September 15, 2015

e-imza - nitelikli elektornik sertifika - nes nasıl çalışır

E-İmza

Nasıl Oluşturulur

Elektronik imza kavramı çok genel bir tanım olup kişilerin elle atmış olduğu imzaların tarayıcıdan geçirilmiş hali olan sayısallaştırılmış imzaları, kişilerin göz retinası, parmak izi ya da ses gibi biyolojik özelliklerinin kaydedilerek kullanıldığı biyometrik önlemleri içeren elektronik imzaları veya bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlayan sayısal imzaları içermektedir.


Sertifikalar X.509 standardına uygun olarak üretilir ve bu standartla uyumlu olan web tarayıcılarına, akıllı kartlara ya da token'lara yüklenebilir

Çalışma Prensibi

Çalışma prensibini özetlemek açısından dijital imzanın gönderilen mesajı göndericiye ait özel bir elektronik anahtarla kilitlemek (şifrelemek/işaretlemek) yöntemiyle oluşturulduğunu belirtmek gerekir. Söz konusu anahtar sadece göndericide olduğundan, bu şifreleme onun tarafından yapılabilmekte ve bilahare de elektronik imza ile işaretlenmiş bu doküman muhataba herhangi bir elektronik yolla (email vb.) ulaştırılmaktadır. Dijital imza sahibinin mesajı işaretlemek için kullandığı sadece kendisine özel elektronik anahtarı dışında, bir de herkese açık bir ikinci anahtarı bulunmakta ve bu ikinci anahtar bir mesajın imzalanması sırasında birinci anahtarın kullanılıp kullanılmadığı hakkında bilgi vermektedir. Bu suretle bir göndericiden elektronik olarak imzalanmış olarak gelen bir mesajın alıcısı, göndericinin ikinci anahtarını mesaja uygulayarak mesajın gerçekten birinci anahtar tarafından işaretlenmiş olup olmadığını tesbit edebilmekte ve tesbit olumlu sonuçlanırsa, birinci anahtar sadece göndericide olduğundan mesajın bu kişi tarafından gönderildiğinden emin olmaktadır.

(public/private key)

Sertifika içeriği

  1. Sertifika seri numarası
  2. Sertifika sahibinin ismi
  3. Sertifika sahibinin özel anahtarına karşı gelen açık anahtar
  4. Sertifikayı veren kurumun adı
  5. Sertifika sürümü
  6. Kullanılan kriptografik algoritmalar
  7. Geçerlilik süresi
  8. Sertifikanın sayısal imzası

Tuesday, September 8, 2015

.net c# how to get windows username or domain username

With <authentication mode="Windows"/> in your application and Anonymous access enabled in IIS, you will see the following results:
System.Environment.UserName: Computer Name
Page.User.Identity.Name: Blank
System.Security.Principal.WindowsIdentity.GetCurrent().Name: Computer Name

With <authentication mode="Windows"/> in your application, and ‘Anonymous access’ disabled and only ‘Integrated Windows Authentication’ in IIS, you will see the following results:
System.Environment.UserName: ASPNET (user account used to run ASP.NET service)
Page.User.Identity.Name: Domain\ Windows Account Name 
System.Security.Principal.WindowsIdentity.GetCurrent().Name: Computer Name\ASPNET

With <authentication mode="Windows"/> and <identity impersonate ="true"/> in your application, and ‘Anonymous access’ disabled and only ‘Integrated Windows Authentication’ in IIS, you will see the following results:
System.Environment.UserName: Windows Account Name 
Page.User.Identity.Name: Domain\ Windows Account Name 
System.Security.Principal.WindowsIdentity.GetCurrent().Name: Domain\ Windows Account Name


With <authentication mode="Windows"/> in your application, and ‘Anonymous access’ disabled and only enable ‘Integrated Windows Authentication’ in IIS,
HttpContext.Current.Request.ServerVariables["Auth_User"] ==> Domain UserName
HttpContext.Current.User.Identity.Name ==> Domain UserName
WindowsIdentity.GetCurrent().Name ==> IIS APPPOOL\{Username}
WindowsIdentity.GetCurrent().Name after impersonate ==> Domain Username