Mac OS X'te Uygulamalar için & Doğrulama Kodu İmzalarını Gösterme

İçindekiler:

Anonim

Kod imzalı uygulamalar, güvenlik bilincine sahip kullanıcıların, belirli bir uygulamanın bozulmadığını veya kurcalanmadığını doğrulamaya yardımcı olmak için belirli bir uygulamanın oluşturucusunu ve karmasını doğrulamasına olanak tanır. Bu, ortalama Mac kullanıcıları için, özellikle de uygulamalar sertifikalı olduğu için yazılımlarını Mac App Store'dan veya diğer güvenilir kaynaklardan edinenler için nadiren gereklidir, ancak bir uygulamanın dijital imzasını doğrulamak, uygulamaları üçüncü taraflardan alan kullanıcılar için son derece yararlı olabilir. kaynaklar.

Bir kod imzasının doğrulanması, yazılım ve yükleyicileri p2p'den ve dağıtılmış kaynaklardan, örneğin bir torrent sitesi veya haber gruplarından, IRC'den, genel ftp'den veya başka bir ağ kaynağından alanlar için özellikle önemlidir. Pratik bir örnek olarak, bir kullanıcının herhangi bir nedenle Mac App Store'a erişemediğini, ancak bir Mac OS X yükleyici uygulaması indirmesi gerektiğini ve bu nedenle üçüncü taraf bir kaynağa güvendiğini varsayalım. Böyle bir durum, yükleyicinin kurcalanmadığını ve yasal olarak Apple'dan geldiğini bilmek ve doğrulamak için önemli olduğunda ve doğrudan sha1 sağlamasını kontrol etmenin yanı sıra, bunu yapmanın en kolay yolu kod imzasını ve şifrelemeyi kontrol etmektir. söz konusu uygulamanın karması.

Mac'teki Uygulamalar için Kod İmzası Nasıl Kontrol Edilir

Başlamak için /Applications/Utilities/ konumunda bulunan Terminal'i başlatın. Karma türü, karma sağlama toplamı ve imzalama yetkisi de dahil olmak üzere herhangi bir uygulama hakkında tanımlayıcı bilgileri göstermek için -dv ve –verbose=4 bayraklarıyla tamamlanan uygun şekilde adlandırılmış "codesign" komutunu kullanacağız.

Temel sözdizimi aşağıdaki gibidir:

codesign -dv --verbose=4 /Path/To/Application.app

Örneğin, /Applications/Utilities/ konumunda bulunan Terminal.app üzerindeki imzayı kontrol edelim.

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=Mach-O ince (x86_64) ile paket CodeDirectory v=20100 size=5227 flags=0x0(none) hashs=255+3 yer=gömülü Platform tanımlayıcısı=1 Hash türü=sha1 boyut=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Signature size=4105 Authority=Software Signing Authority=Apple Code Signing Certification Authority Authority=Apple Root CA Info.plist girişleri=34 TeamIdentifier=not set Sealed Resources version=2 kurallar=13 dosyalar=996 Dahili gereksinimler sayısı=1 boyut=68

Aradığınız şey, hash türü, hash ve yetki girişleridir. Bu durumda hash türü sha1'dir ve imza yetkilisi Apple'dır, beklediğiniz gibi.

Evet, uygulama yükleyicilerin ve indirmelerin sha1 veya md5 sağlamalarını kontrol etmek ve bunları yasal bir kaynakla karşılaştırmak için komut satırını da kullanabilirsiniz, ancak bu, kod imzalama ve sertifika ayrıntılarını ortaya çıkarmaz.

Gatekeeper devre dışı bırakılmadıkça veya başka bir şekilde atlatılmadıkça, ancak Gatekeeper açık bırakılsa bile, yetkisiz bir tarafça değiştirilen kod imzalı yazılımların çoğunun Mac OS X'te Gatekeeper tarafından reddedileceğini unutmayın. Girişimci bir goon'un bunu aşmanın bir yolunu bulması teorik olarak mümkün ve elbette, tanımlanmış bir geliştirici tarafından onaylanmamış yazılımlar her zaman Gatekeeper çevresinde başlatılabilir.

Kod imzalama hakkında Vikipedi'de ve Apple Geliştirici kılavuzunda kod imzalama hakkında buradan bilgi edinebilirsiniz.

Uygulamaların imzalanıp imzalanmadığını hiç kontrol ettiniz mi? Bazı işlemlerin ve uygulamaların ne olduğunu belirlemenin geçerli bir yolu olabilir ve ayrıca sorun giderme için yardımcı olabilir. Bir dahaki sefere bir şeyin ne olduğunu ve imzalanıp imzalanmadığını merak ettiğinizde deneyin!

Mac OS X'te Uygulamalar için & Doğrulama Kodu İmzalarını Gösterme