Cách hiển thị & Xác minh chữ ký mã cho ứng dụng trong Mac OS X
Mục lục:
Các ứng dụng đã ký mã cho phép người dùng có ý thức bảo mật xác minh người tạo và hàm băm của một ứng dụng cụ thể để giúp xác nhận ứng dụng đó không bị hỏng hoặc giả mạo. Điều này hiếm khi cần thiết đối với người dùng Mac thông thường, đặc biệt là những người tải xuống phần mềm của họ từ Mac App Store hoặc các nguồn đáng tin cậy khác vì ứng dụng đã được chứng nhận, nhưng việc xác minh chữ ký số của ứng dụng có thể cực kỳ hữu ích đối với người dùng tải ứng dụng từ bên thứ ba nguồn.
Xác minh chữ ký mã đặc biệt quan trọng đối với những người nhận phần mềm và trình cài đặt từ p2p và các nguồn phân tán, có thể là trang web torrent hoặc nhóm tin, IRC, ftp công khai hoặc tài nguyên mạng khác. Ví dụ thực tế, giả sử người dùng không thể truy cập Mac App Store vì bất kỳ lý do gì, nhưng cần tải xuống ứng dụng trình cài đặt Mac OS X và do đó dựa vào nguồn của bên thứ ba. Tình huống như vậy là khi điều quan trọng là phải biết và xác minh rằng trình cài đặt không bị giả mạo và đến từ Apple một cách hợp pháp và ngoài việc kiểm tra hàm băm sha1 trực tiếp, cách dễ nhất để làm điều đó là kiểm tra chữ ký mã và mật mã hàm băm của ứng dụng được đề cập.
Cách kiểm tra chữ ký mã cho ứng dụng trên máy Mac
Để bắt đầu, hãy khởi chạy Terminal, có trong /Applications/Utilities/. Chúng tôi sẽ sử dụng lệnh 'codedesign' được đặt tên phù hợp, hoàn chỉnh với các cờ -dv và –verbose=4 để hiển thị thông tin nhận dạng về bất kỳ ứng dụng nào, bao gồm loại hàm băm, tổng kiểm tra hàm băm và quyền ký.
Cú pháp cơ bản như sau:
codesign -dv --verbose=4 /Path/To/Application.app
Ví dụ: hãy kiểm tra chữ ký trên Terminal.app, nằm trong /Applications/Utilities/
codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Format=gói với Mach-O thin (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 vị trí=mã định danh Nền tảng được nhúng=1 Loại hàm băm=sha1 kích thước=20 CDHash=Kích thước chữ ký=4105
Những gì bạn đang tìm kiếm là loại hàm băm, hàm băm và mục nhập quyền hạn. Trong trường hợp này, loại hàm băm là sha1 và cơ quan có chữ ký là Apple, đó là những gì bạn mong đợi.
Có, bạn cũng có thể sử dụng dòng lệnh để chỉ kiểm tra hàm băm sha1 hoặc md5 của các trình cài đặt và tải xuống ứng dụng rồi so sánh chúng với một nguồn hợp pháp, nhưng điều đó sẽ không tiết lộ chi tiết chứng chỉ và ký mã.
Hãy nhớ rằng hầu hết phần mềm được ký mã đã bị sửa đổi bởi một bên trái phép sẽ bị Gatekeeper từ chối trong Mac OS X, trừ khi Gatekeeper đã bị vô hiệu hóa hoặc bị phá vỡ, nhưng ngay cả khi Gatekeeper vẫn còn trên đó về mặt lý thuyết, một người dám nghĩ dám làm có thể tìm ra cách giải quyết vấn đề đó và tất nhiên, phần mềm chưa được nhà phát triển đã xác định chứng nhận luôn có thể được tung ra xung quanh Gatekeeper.
Bạn có thể tìm hiểu về ký mã trên Wikipedia và trên Hướng dẫn dành cho nhà phát triển của Apple về ký mã tại đây.
Bạn có bao giờ kiểm tra xem các ứng dụng đã được ký chưa? Đây có thể là một cách hợp lệ để xác định xem một số quy trình và ứng dụng là gì, đồng thời cũng có thể hữu ích để khắc phục sự cố. Hãy dùng thử vào lần tới khi bạn thắc mắc nội dung nào đó là gì và nội dung đó có được ký hay không!