Windows Azure Cloud Service Web.config Dosyası Şifreleme

Standard

Bir web servis için web.config dosyası gerekli yapılandırma ayarlarını içerir. Bu yapılandırma ayarlarından bazıları hassas bilgiler içerebilir, örneğin web servis bir veritabanına bağlanıyor ise bu veritabanı için gerekli bağlantı dizesi (connection string) web.config içerisinde plain text olarak durur ve veritabanının bulunduğu sunucu için gerekli kullanıcı adı ve şifreyi içerir. Bu durum tabi ki olası bir güvenlik açığıdır; eğer web servisi bir üçüncü parti sunucuda tutmayı planlıyorsak, ya da kaynak koduna bu bilgiye sahip olmasını istemediğiniz kişilerin erişmesi gerekiyorsa, ekstra bir güvenlik katmanı sağlamak için bu bilgiyi şifreleyebiliriz.

  <connectionStrings>
    <add name="DatabaseConnectionString" connectionString="Data Source=blablabla.database.windows.net;Initial Catalog=BlaBlaDB;User ID=kullaniciadi;Password=sifre"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

.NET Framework, bilgilerimizin yukarıdaki gibi gözükmemesini sağlamak için “protected configuration” adı verilen bir özellik ile şifreleme imkanı sağlar ve bu şifrelemeyi DpapiProtectedConfigurationProvider veya RsaProtectedConfigurationProvider sınıflarını kullanarak gerçekleştirir. Ancak bu iki yöntemde de şifrelemenin web servisin bulunacağı sunucu üzerinde uygulanması gerekir, çünkü şifreleme için makineye özel bir anahtar değeri kullanılır ve bu durum da Azure üzerinde bu özelliği kullanamayacağımız anlamına gelir.

Azure üzerinde web.config dosyasını şifrelemek istiyorsak özel bir “protected configuration provider” kullanmamız gerekli. Bu yazımda, şifreleme için bir “.pfx” uzantılı sertifika ve Windows Azure Certificate Store kullanarak şifreleme yapan özel “Pkcs12 Protected Configuration Provider” ile Azure üzerindeki web servisimizin web.config dosyasını şifreleyeceğiz.

➤ Devamını okuyun…

Advertisement

Windows Store Uygulamalarında XML Serialization

Standard

Serialization, en genel haliyle bir veri yapısını ya da nesneyi saklanabilecek ya da taşınabilecek bir biçime dönüştürme işlemidir. Bu işlemin amacı genelde bir veri yapısını dosya içinde saklamak ya da ağ üzerinden bir başka konuma aktarabilmektir, ki bu sayede ardından deserialization işlemi uygulanarak nesneye istenilen zamanda ya da konumda ulaşılabilir.

Buna örnek olarak bir haber uygulamasını verebiliriz: Haberleri ilk açılışında internetten çekip, ardından serialization işlemi uygulayarak bir dosyaya kaydedebilir, sonrasında ise güncellemesi için belirli bir süre geçmediği takdirde her açılışta haberleri sıfırdan indirmek yerine dosyadan çok daha hızlı bir şekilde okuyarak kullanıcıya gösterebilir (ya da, haberlerin indirilmesi uzun sürüyorsa, bu süre içerisinde ekranın boş olmaması için en son indirdiği haberleri gösterebilir). Başka bir örnek de, bir kullanıcının Facebook’taki hareketlerini Facebook’a bağlanarak almak istediğimizde bize bunu serialization uygulanmış halde vermesini ve bizim kendi uygulamamızda bunu deserialization ile uygun bir sınıfa dönüştürmemizi verebiliriz.

Bu yazımda, bir Windows Store uygulamasında kendi sınıfımızın bir listesini XML Serialization kullanarak dosyaya kaydedip, ardından okuyan örnek bir uygulama oluşturacağız.

Bunun için Visual Studio 2012’yi açıp, yeni bir Windows Store Blank App projesi açalım.

1

➤ Devamını okuyun…

Uploading an Image from Windows Phone to Azure Blob Storage

Standard

Azure blob (binary large object) storage allows us to store files on the cloud and it can be used in many scenarios, such as storing user related files (e.g. profile pictures), keeping backup or storing audio and video files for our application. In this article, we’ll see how we can develop a Windows Phone application that takes (or selects) a picture and uploads it to Windows Azure.

Note: I was showing the latest uploaded image here, but unfortunately I had to cancel my Azure subscription. Therefore, the storage key in this example (and in the source code) will not work. Don’t forget to use your own storage account credential and key.

Then, let’s begin by opening up Visual Studio and creating a new Windows Phone project.

1

2

➤ Let’s see how we can upload an image to Azure…