Проверете пакетите за изтекли сертификати в Mac OS X
Съдържание:
Много потребители на Mac ще изтеглят пакетни файлове с комбинирани актуализации или друг софтуер, за да ги инсталират на множество компютри, като по този начин избягват актуализирането с Mac App Store. Това е особено често срещано при системните администратори на Mac, където е по-разумно да изтеглите единична актуализация на пакет или инсталационна програма веднъж и да я разпространите по мрежа или може би да инсталирате ръчно през USB устройство.Изобщо няма нищо лошо в този подход и всъщност той е много по-ефективен за управление на няколко Mac, но възниква един потенциален проблем, когато инсталатор на пакет или файл за актуализация има изтекъл сертификат, което ще попречи на пакета да се инсталира изцяло, ситуация, която става очевидна, когато получите съобщение за грешка „(инсталаторът на приложение) е подписан със сертификат, който е изтекъл“.
За да избегнете тази ситуация, можете сами да проверите подписите на пакетите, за да видите дали са валидни, дали са с изтекъл срок или дори ако изобщо нямат подпис.
Как да проверите състоянието на подписа на пакета в Mac OS X с pkgutil
Отличната помощна програма за команден ред pkgutil може лесно да определи статуса на всеки подпис и сертификат на пакет. Използва се лесно, така че стартирайте приложението Terminal от /Applications/Utilities/ и го изпробвайте сами.
Основният синтаксис, който трябва да се използва за проверка на състоянието на подпис на пакет, е следният:
pkgutil --check-signature /Path/to/Example.pkg
Натиснете return и ще разберете дали подписът е валиден, дали подписът е изтекъл или изобщо няма подпис.
Например, да приемем, че имаме софтуерен пакет за инсталиране на Mac OS X Combo Update, често срещан сценарий за системни администратори, актуализиращи няколко Mac-а, можете да проверите състоянието на подписа на този пакет така:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Пакет OSXUpdateCombo10.10.2.pkg: Състояние: подписано от сертификат, който е изтекъл оттогава "
В този случай подписът за пакета за актуализация е изтекъл, което означава, че ще изведе грешка, ако се направи опит за използване.
Не всички програми за инсталиране на пакети обаче имат подписи и докато всеки файл за актуализация на софтуера от Apple има, пакетите от трети страни често нямат.Например, този примерен файл за инсталиране на пакети няма подпис и трябва да бъде третиран по подходящ начин (т.е. ако нямате доверие на източника, може би преразгледайте използването му).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Пакет MysterySketchyInstaller-21.pkg: Статус: няма подпис "
Ако файлът на пакета е съмнителен, можете да проверите подписа на кода и да извлечете пакета, без да го инсталирате с pkgutil, за да го проверите допълнително, или ако предпочитате да използвате GUI, тогава приложение като Pacifist предлага подобни инструменти за управление на пакети в по-приятелски интерфейс, дори ако все още е напреднала страна на нещата.
Както всички добри инструменти за команден ред, можете дори да подадете заместващи знаци на pkgutil, за да проверите лесно няколко пакета едновременно, в този пример ще проверим подписа на всеки .pkg файл, съдържащ се в ~/ Изтегляния:
pkgutil --check-signature ~/Downloads/.pkg Пакет irssi-0.8.17-0.pkg: Статус: няма подпис "
"Пакет wget-4.8.22-0.pkg: Статус: няма подпис"
"Package ComboUpdateOSXElCapitan.pkg: Състояние: подписано със сертификат, който вече е изтекъл"
"Package InstallOSXSequoiaBeta.pkg: Статус: валиден"
"Package HRFDeveloperTools.pkg: Статус: валиден"
Заместващите знаци ще направят бърза проверка на статуса на сертификата на много различни пакетни файлове, просто се уверете, че сте посочили .pkg, за да завърши процесът, без да спирате на файл, който не е разпознат пакет.