2009-07-15 18 views
6

Projenin exe'ını, dijital imzayla imzalanmış üzerinde çalışıyorum. Bu, yönetici haklarını istediğinde şirketin adını gösterdiğini gösterir. Bu çok iyi çalışır, ancak exe'yi değiştirirseniz, bunun yerine hala çalışır ve orada bilinmeyecektir.Programatik olarak dijital imzayı kontrol etme

Modifiye edilmiş sürümlerden kaçınmak için exe'yi çalıştırdığınızda geçerli olup olmadığını görmek için dijital imzayı kontrol etmenin bir yolu var mı?

Görsel stüdyo 2008 pencereler 7

cevap

8

Here imzayı doğrular ki (o WinVerifyTrust işlevi kullanır) örnek bir programdır, ancak Sen de denemelisin Ben Windows 7 altında çalışacak emin değilim.

+2

WinTrustVerify yapmak için çağrıdır. İkili kodun imzalandığını söyleyecektir. Belli bir sertifika (örn. Şirketiniz) ile imzalandığından emin olmanız gerekiyorsa, doğrulamak için (muhtemelen bir döngüde) CertVerifyCertificateChainPolicy'yi aramanız gerekir. – selbie

0

Zaten bir UAC gereksiniminiz olduğunu düşünürsek, "Bilgisayar Yapılandırması \ Windows Ayarları \ Yerel İlkeler \ Güvenlik Seçenekleri" bölümündeki "Yalnızca imzalanan ve doğrulanan yürütülebilirleri yükselt" GPO seçeneğini ayarlamak yeterli olmaz mı? Yararlı olabilecek bir "Use Certificate Rules on Windows Executables for Software Restriction Policies" ayarı da vardır.

Bu ayarlar, kendi uygulamanızdan kontrol etmeye çalışmaktan daha iyidir, çünkü tüm nokta, ikili kodunuz değiştirildiğinde kendinize artık güvenemeyeceğiniz içindir.

+0

bu, son kullanıcılara yüklenecek ve böylece bu seçeneği ayarlayamayacaktır. Daha sonra yolsuzluk hakkında endişeleniyorum sonra "hacker". – Lodle

+0

Tamam, Murphy ya da Machiavelli'den korkup korkmadığın sorusundan belli değildi. – MSalters

İlgili konular