Kiểm tra các gói để tìm chứng chỉ đã hết hạn trong Mac OS X
Mục lục:
Nhiều người dùng Mac sẽ tải xuống các tệp gói của các bản cập nhật kết hợp hoặc phần mềm khác để cài đặt chúng trên nhiều máy tính, do đó tránh cập nhật bằng Mac App Store. Điều này đặc biệt phổ biến với các quản trị viên hệ thống Mac, nơi sẽ hợp lý hơn khi tải xuống một gói cập nhật hoặc trình cài đặt một lần và phân phối nó qua mạng hoặc có thể cài đặt thủ công qua ổ USB.Cách tiếp cận này không có gì sai cả và trên thực tế, nó hiệu quả hơn nhiều đối với việc quản lý nhiều máy Mac, nhưng một trục trặc tiềm ẩn xảy ra khi trình cài đặt gói hoặc tệp cập nhật có chứng chỉ hết hạn, điều này sẽ ngăn không cho gói cài đặt hoàn toàn. tình huống trở nên rõ ràng khi bạn nhận được thông báo lỗi “(trình cài đặt ứng dụng) đã được ký với chứng chỉ đã hết hạn”.
Để tránh tình trạng này, bạn có thể tự kiểm tra chữ ký trên gói hàng để xem chúng có hợp lệ không, đã hết hạn hay thậm chí không có chữ ký nào cả.
Cách kiểm tra trạng thái chữ ký gói trong Mac OS X bằng pkgutil
Tiện ích dòng lệnh pkgutil tuyệt vời có thể dễ dàng xác định trạng thái của bất kỳ chữ ký gói và chứng chỉ nào. Nó rất dễ sử dụng, vì vậy hãy khởi chạy ứng dụng Terminal từ /Applications/Utilities/ và tự mình dùng thử.
Cú pháp cơ bản để kiểm tra trạng thái chữ ký gói như sau:
pkgutil --check-signature /Path/to/Example.pkg
Nhấn quay lại và bạn sẽ biết chữ ký có hợp lệ không, chữ ký đã hết hạn hay hoàn toàn không có chữ ký.
Ví dụ: giả sử chúng ta có gói cài đặt phần mềm Cập nhật kết hợp Mac OS X, một trường hợp phổ biến đối với quản trị viên hệ thống cập nhật nhiều máy Mac, bạn có thể kiểm tra trạng thái của chữ ký gói đó như sau:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Gói OSXUpdateCombo10.10.2.pkg: Trạng thái: được ký bởi một chứng chỉ đã hết hạn "
Trong trường hợp này, chữ ký cho gói cập nhật đã hết hạn, nghĩa là nó sẽ báo lỗi nếu cố gắng sử dụng.
Tuy nhiên, không phải tất cả các trình cài đặt gói đều có chữ ký và trong khi bất kỳ tệp cập nhật phần mềm nào từ Apple đều có, các gói từ bên thứ ba thường không có.Ví dụ: tệp trình cài đặt gói mẫu này không có chữ ký và phải được xử lý phù hợp (nghĩa là nếu bạn không tin tưởng nguồn, có thể xem xét lại việc sử dụng nó).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Gói MysterySketchyInstaller-21.pkg: Trạng thái: không có chữ ký "
Nếu tệp gói không rõ ràng, bạn có thể xác minh chữ ký mã và giải nén gói mà không cần cài đặt bằng pkgutil để kiểm tra thêm hoặc nếu bạn muốn sử dụng GUI thì dùng ứng dụng như Pacifist cung cấp các công cụ quản lý gói tương tự trong một giao diện thân thiện hơn, ngay cả khi nó vẫn ở khía cạnh nâng cao.
Giống như tất cả các công cụ dòng lệnh tốt, bạn thậm chí có thể cung cấp các ký tự đại diện pkgutil để dễ dàng kiểm tra nhiều gói cùng lúc, trong ví dụ này, chúng tôi sẽ kiểm tra chữ ký của mọi tệp .pkg có trong ~/ Tải xuống:
pkgutil --check-signature ~/Downloads/.pkg Gói irssi-0.8.17-0.pkg: Trạng thái: không có chữ ký "
"Gói wget-4.8.22-0.pkg: Trạng thái: không có chữ ký"
"Package ComboUpdateOSXElCapitan.pkg: Trạng thái: được ký bởi một chứng chỉ đã hết hạn"
"Gói cài đặtOSXSequoiaBeta.pkg: Trạng thái: hợp lệ"
"Gói HRFDeveloperTools.pkg: Trạng thái: hợp lệ"
Wildcards sẽ giúp nhanh chóng kiểm tra trạng thái chứng chỉ của nhiều tệp gói khác nhau, chỉ cần đảm bảo bạn chỉ định .pkg để quá trình hoàn tất mà không dừng trên tệp không phải là gói được nhận dạng.