2009-07-15 10 views
6

Mam exe do projektu, pracuję na podpisanym cyfrowym podpisie, co oznacza, że ​​gdy prosi o prawa administratora, pokazuje nazwę firmy. Działa to bardzo dobrze, ale jeśli zmodyfikujesz plik exe, to nadal będzie działać i zamiast tego będzie pokazywał nieznany.Programowalne sprawdzanie podpisu cyfrowego

Czy istnieje sposób sprawdzenia podpisu cyfrowego, aby sprawdzić, czy jest on prawidłowy podczas uruchamiania pliku exe, aby uniknąć uruchamiania zmodyfikowanych wersji?

Visual Studio 2008 windows 7

Odpowiedz

8

Here jest przykładowy program (używa WinVerifyTrust funkcji), która weryfikuje podpis, ale nie jestem pewien, że będzie działać pod kontrolą systemu Windows 7. Należy spróbować.

+2

WinTrustVerify to połączenie do wykonania. Pokaże ci, że plik binarny został podpisany przez kod. Jeśli chcesz się upewnić, że został podpisany określonym certyfikatem (np. Twoja firma), musisz zadzwonić do CertVerifyCertificateChainPolicy w celu sprawdzenia poprawności (prawdopodobnie w pętli). – selbie

0

Biorąc pod uwagę, że już masz potrzebę kontroli konta użytkownika, czy nie wystarczy ustawić opcję GPO "Podwyższaj pliki wykonywalne, które są podpisane i zatwierdzone" w "Konfiguracja komputera \ Ustawienia systemu Windows \ Zasady lokalne \ Opcje zabezpieczeń"? Dostępne jest również ustawienie "Use Certificate Rules on Windows Executables for Software Restriction Policies", które może być przydatne.

Ustawienia te są lepsze niż próba sprawdzenia z własnej aplikacji, ponieważ chodzi o to, że nie możesz już zaufać sobie, gdy twój plik binarny jest modyfikowany.

+0

to zostanie zainstalowane na komputerach użytkowników końcowych, więc nie mogę ustawić tej opcji. Im bardziej martwię się korupcją, a następnie "hakerami". – Lodle

+0

Ok, nie było jasne z twojego pytania, czy bałeś się Murphy'ego czy Machiavellego. – MSalters