Jak wyświetlić podpisy kodu weryfikacji & dla aplikacji w systemie Mac OS X
Spisu treści:
Aplikacje podpisane kodem umożliwiają świadomym bezpieczeństwa użytkownikom weryfikację twórcy i skrótu konkretnej aplikacji, aby potwierdzić, że nie została ona uszkodzona ani zmodyfikowana. Jest to rzadko konieczne dla przeciętnych użytkowników komputerów Mac, szczególnie tych, którzy uzyskują oprogramowanie z Mac App Store lub innych zaufanych źródeł, ponieważ aplikacje są certyfikowane, ale weryfikacja podpisu cyfrowego aplikacji może być niezwykle pomocna dla użytkowników, którzy otrzymują aplikacje od osób trzecich źródła.
Weryfikacja podpisu kodu jest szczególnie ważna dla tych, którzy pobierają oprogramowanie i instalatory ze źródeł p2p i rozproszonych, na przykład z torrentów lub grup dyskusyjnych, IRC, publicznego ftp lub innego zasobu sieciowego. Dla praktycznego przykładu, powiedzmy, że użytkownik z jakiegokolwiek powodu nie może uzyskać dostępu do Mac App Store, ale musi pobrać aplikację instalatora Mac OS X, a zatem polega na źródle strony trzeciej. Taka sytuacja ma miejsce, gdy ważne byłoby wiedzieć i zweryfikować, czy instalator nie został zmanipulowany i legalnie pochodzi od Apple, a oprócz bezpośredniego sprawdzenia skrótu sha1, najłatwiejszym sposobem na to jest sprawdzenie podpisu kodu i kryptografii skrót danej aplikacji.
Jak sprawdzić podpis kodu dla aplikacji na Macu
Aby rozpocząć, uruchom Terminal, który znajduje się w katalogu /Applications/Utilities/. Będziemy używać polecenia o trafnej nazwie „codesign”, wraz z flagami -dv i –verbose=4, aby wyświetlić informacje identyfikujące dowolną aplikację, w tym typ skrótu, sumę kontrolną skrótu i uprawnienia do podpisywania.
Podstawowa składnia jest następująca:
codesign -dv --verbose=4 /Path/To/Application.app
Na przykład sprawdźmy podpis w aplikacji Terminal.app znajdującej się w /Applications/Utilities/
codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Identyfikator terminala=com.apple.Terminal Format=pakiet z Mach-O thin (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded Identyfikator platformy=1 Hash type=sha1 size=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Rozmiar podpisu=4105 Urząd=Urząd podpisywania oprogramowania=Urząd certyfikacji podpisywania kodu Apple Urząd=Główny urząd certyfikacji Apple Info.plist wpisy=34 TeamIdentifier=nieustawiony Wersja zapieczętowanych zasobów=2 reguły=13 pliki=996 Liczba wymagań wewnętrznych=1 rozmiar=68
To, czego szukasz, to typ skrótu, skrót i wpisy uprawnień. W tym przypadku typem skrótu jest sha1, a podpisanym upoważnieniem jest Apple, czego można się spodziewać.
Tak, możesz także użyć wiersza poleceń, aby po prostu sprawdzić skróty sha1 lub md5 instalatorów aplikacji i pobrań oraz porównać je z legalnym źródłem, ale nie ujawni to szczegółów podpisu kodu i certyfikatu.
Pamiętaj, że większość oprogramowania podpisanego kodem, które zostało zmodyfikowane przez osobę nieupoważnioną, zostanie odrzucona przez Gatekeeper w systemie Mac OS X, chyba że Gatekeeper został wyłączony lub w inny sposób ominięty, ale nawet jeśli Gatekeeper pozostanie włączony teoretycznie możliwe jest, aby przedsiębiorczy zbir znalazł sposób na obejście tego problemu, a oprogramowanie, które nie zostało certyfikowane przez określonego programistę, zawsze i tak może zostać uruchomione wokół Gatekeeper.
Informacje na temat podpisywania kodu można znaleźć w Wikipedii oraz w przewodniku Apple Developer dotyczącym podpisywania kodu tutaj.
Czy kiedykolwiek sprawdzasz, czy aplikacje są podpisane? Może to być prawidłowy sposób określenia, jakie są niektóre procesy i aplikacje, a także może być pomocny w rozwiązywaniu problemów. Wypróbuj, gdy następnym razem będziesz się zastanawiać, co to jest i czy jest podpisane, czy nie!