ClickOnce ve Authenticode
Authenticode , uygulama kodunu uygulamanın yayımcısının orijinalliğini doğrulayan dijital sertifikalarla imzalamak için endüstri standardı şifreleme kullanan bir Microsoft teknolojisidir. Uygulama dağıtımı için Authenticode kullanarak ClickOnce, Truva atı riskini azaltır. Truva atı, kötü amaçlı bir üçüncü tarafın yerleşik, güvenilir bir kaynaktan gelen meşru bir program olarak yanlış tanıttığını bir virüs veya başka zararlı bir programdır. ClickOnce dağıtımlarının dijital sertifikayla imzalanması, derlemelerin ve dosyaların değiştirilmediğini doğrulamak için isteğe bağlı bir adımdır.
Aşağıdaki bölümlerde Authenticode'da kullanılan farklı dijital sertifika türleri, sertifikaların Sertifika Yetkilileri (CA' lar) kullanılarak nasıl doğrulandığı, sertifikalarda zaman damgası oluşturma rolü ve sertifikalar için kullanılabilir depolama yöntemleri açıklanmaktadır.
Authenticode ve kod imzalama
Dijital sertifika, şifreleme ortak/özel anahtar çiftinin yanı sıra sertifikanın verildiği yayımcıyı ve sertifikayı veren kuruluşu açıklayan meta verileri içeren bir dosyadır.
Çeşitli Authenticode sertifika türleri vardır. Her biri farklı imzalama türleri için yapılandırılır. ClickOnce uygulamaları için kod imzalama için geçerli bir Authenticode sertifikanız olmalıdır. ClickOnce uygulamasını dijital e-posta sertifikası gibi başka bir sertifika türüyle imzalamaya çalışırsanız, çalışmaz. Daha fazla bilgi için bkz . Kod imzalamaya giriş.
Kod imzalama için üç yoldan biriyle sertifika alabilirsiniz:
Sertifika satıcısından satın alın.
Kuruluşunuzda dijital sertifika oluşturmaktan sorumlu bir gruptan bir tane alın.
New-SelfSignedCertificate PowerShell cmdlet'ini veya Windows Yazılım Geliştirme Seti'ne (SDK) dahil edilen MakeCert.exe dosyasını kullanarak kendi sertifikanızı oluşturun.
Sertifika yetkililerinin kullanılması kullanıcılara nasıl yardımcı olur?
New-SelfSignedCertificate veya MakeCert.exe yardımcı programı kullanılarak oluşturulan bir sertifika genellikle self-cert veya test sertifikası olarak adlandırılır. Bu tür bir sertifika, .snk dosyasının .NET Framework'te çalıştığı gibi çalışır. Yalnızca bir genel/özel şifreleme anahtar çifti içerir ve yayımcı hakkında doğrulanabilir bilgi içermez. Bir intranette yüksek güvene sahip ClickOnce uygulamalarını dağıtmak için kendi kendine sertifikaları kullanabilirsiniz. Ancak, bu uygulamalar bir istemci bilgisayarda çalıştırıldığında, ClickOnce bunları Bilinmeyen Yayımcı'dan geliyormuş gibi tanımlar. Varsayılan olarak, kendi kendine sertifikalarla imzalanan ve İnternet üzerinden dağıtılan ClickOnce uygulamaları Güvenilen Uygulama Dağıtımı'nı kullanamaz.
Buna karşılık, sertifika satıcısı veya kuruluşunuzdaki bir departman gibi bir CA'dan sertifika alırsanız, sertifika kullanıcılarınız için daha fazla güvenlik sunar. yalnızca imzalanmış yazılımın yayımcısını tanımlamaz, aynı zamanda imzalayan CA ile denetleyerek bu kimliği doğrular. CA kök yetkili değilse, Authenticode ayrıca CA'nın sertifika verme yetkisine sahip olduğunu doğrulamak için kök yetkiliye "zincirleme" yapacaktır. Daha fazla güvenlik için mümkün olduğunda CA tarafından verilen bir sertifika kullanmalısınız.
Kendi kendine sertifika oluşturma hakkında daha fazla bilgi için bkz . New-SelfSignedCertificate veya MakeCert.
Zaman damgaları
ClickOnce uygulamalarını imzalamak için kullanılan sertifikaların süresi belirli bir süre (genellikle on iki ay) sonra dolar. Uygulamaları yeni sertifikalarla sürekli yeniden imzalama gereksinimini ortadan kaldırmak için ClickOnce zaman damgasını destekler. Bir uygulama zaman damgasıyla imzalandığında, zaman damgası geçerli olması koşuluyla süresi dolduğunda bile sertifikası kabul edilmeye devam eder. Bu, süresi dolmuş sertifikalara ancak geçerli zaman damgalarına sahip ClickOnce uygulamalarının indirilmesine ve çalıştırılmasına olanak tanır. Ayrıca süresi dolmuş sertifikalara sahip yüklü uygulamaların güncelleştirmeleri indirmeye ve yüklemeye devam etmesine de olanak tanır.
Bir uygulama sunucusuna zaman damgası eklemek için bir zaman damgası sunucusunun kullanılabilir olması gerekir. Zaman damgası sunucusu seçme hakkında bilgi için bkz . Nasıl yapılır: Uygulama ve Dağıtım Bildirimlerini İmzalama.
Süresi dolan sertifikaları güncelleştirme
.NET Framework'ün önceki sürümlerinde, sertifikasının süresi dolmuş bir uygulamanın güncelleştirilmesi uygulamanın çalışmayı durdurmasına neden olabilir. Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:
.NET Framework sürüm 3.5 veya üzerini güncelleştirin.
Uygulamayı kaldırın ve geçerli bir sertifikayla yeni bir sürümü yeniden yükleyin.
Sertifikaları depolama
- Sertifikaları dosya sisteminizde . pfx dosyası olarak veya bir anahtar kapsayıcısının içinde depolayabilirsiniz. Windows etki alanındaki bir kullanıcının bir dizi anahtar kapsayıcısı olabilir. Varsayılan olarak, MakeCert.exe bunun yerine bir .pfx dosyasına kaydedilmesi gerektiğini belirtmediğiniz sürece sertifikaları kişisel anahtar kapsayıcınızda depolar. ClickOnce dağıtımları oluşturmaya yönelik Windows SDK araçları olan Mage.exe ve MageUI.exe, her iki şekilde de depolanan sertifikaları kullanmanızı sağlar.