Cara Menampilkan & Verifikasi Tanda Tangan Kode untuk Aplikasi di Mac OS X

Aplikasi yang ditandatangani kode memungkinkan pengguna yang sadar keamanan untuk memverifikasi pembuat dan hash dari aplikasi tertentu untuk membantu memastikan bahwa itu tidak rusak atau dirusak. Hal ini jarang diperlukan untuk pengguna Mac rata-rata, terutama mereka yang mendapatkan perangkat lunak mereka dari Mac App Store atau sumber tepercaya lainnya karena aplikasi tersebut disertifikasi, tetapi memverifikasi tanda tangan digital aplikasi dapat sangat membantu bagi pengguna yang mendapatkan aplikasi dari pihak ketiga. sumber.


Memverifikasi tanda tangan kode sangat penting bagi mereka yang mendapatkan perangkat lunak dan pemasang dari p2p dan sumber yang didistribusikan, mungkin situs torrent atau newsgroup, IRC, ftp publik, atau sumber daya jaringan lain. Untuk contoh praktis, katakanlah pengguna tidak dapat mengakses Mac App Store karena alasan apa pun, tetapi perlu mengunduh aplikasi penginstal OS X dan dengan demikian bergantung pada sumber pihak ketiga. Situasi semacam itu adalah ketika penting untuk mengetahui dan memverifikasi bahwa penginstal belum dirusak dan secara sah berasal dari Apple, dan selain memeriksa hash sha1 secara langsung, cara termudah untuk melakukannya adalah dengan memeriksa tanda tangan kode dan kriptografi hash aplikasi yang dimaksud.

Untuk memulai, luncurkan Terminal, temukan di / Aplikasi / Utilitas /. Kami akan menggunakan perintah 'codesign' yang tepat, lengkap dengan -dv dan –verbose = 4 bendera untuk menunjukkan informasi identitas tentang aplikasi apa pun, termasuk jenis hash, hash checksum, dan otoritas penandatanganan.

Sintaks dasarnya adalah sebagai berikut:

code sign -dv --verbose=4 /Path/To/Application.app

Sebagai contoh, mari kita periksa tanda tangan di Terminal.app, yang terletak di / Aplikasi / Utilitas /

codesign -dv --verbose=4 /Applications/Utilities/Terminal.app
Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
Identifier=com.apple.Terminal
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded
Platform identifier=1
Hash type=sha1 size=20
CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23
Signature size=4105
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Info.plist entries=34
TeamIdentifier=not set
Sealed Resources version=2 rules=13 files=996
Internal requirements count=1 size=68

Yang Anda cari adalah entri hash type, hash, dan authority. Dalam hal ini tipe hash adalah sha1 dan otoritas yang ditandatangani adalah Apple, yang adalah apa yang Anda harapkan.

Ya, Anda juga dapat menggunakan baris perintah untuk hanya memeriksa sha1 atau md5 hash dari penginstal aplikasi dan unduhan dan membandingkannya dengan sumber yang sah, tetapi itu tidak akan mengungkapkan penandatanganan kode dan rincian sertifikat.

Perlu diingat bahwa sebagian besar kode yang ditandatangani perangkat lunak yang telah dimodifikasi oleh pihak yang tidak sah akan ditolak oleh Gatekeeper di OS X, kecuali Gatekeeper telah dinonaktifkan atau dihindarinya, tetapi bahkan dengan Gatekeeper yang tersisa di dalamnya secara teoritis mungkin bagi orang jahat giat untuk menemukan jalan di sekitarnya, dan tentu saja perangkat lunak yang belum disertifikasi oleh pengembang yang teridentifikasi dapat selalu diluncurkan di sekitar Gatekeeper.

Anda dapat membaca lebih lanjut tentang penandatanganan kode di Wikipedia dan di panduan Pengembang Apple untuk penandatanganan kode di sini.