Suriin ang Mga Package para sa Mga Nag-expire na Certificate sa Mac OS X
Talaan ng mga Nilalaman:
Maraming mga user ng Mac ang magda-download ng mga package file ng mga combo update o iba pang software upang mai-install ang mga ito sa maraming computer, sa gayon ay maiiwasan ang pag-update gamit ang Mac App Store. Ito ay partikular na karaniwan sa mga administrator ng Mac system, kung saan mas makatuwirang mag-download ng isang pag-update ng package o installer nang isang beses at ipamahagi ito sa isang network o marahil ay manu-manong mag-install sa pamamagitan ng USB drive.Walang mali sa diskarteng ito, at sa katunayan ito ay mas mahusay para sa multi-Mac management, ngunit isang potensyal na hiccup ang dumating kapag ang isang package installer o update file ay may expired na certificate, na hahadlang sa package mula sa ganap na pag-install, isang sitwasyon na nagiging halata kapag nakakuha ka ng mensahe ng error na "(installer ng application) ay nilagdaan gamit ang isang certificate na nag-expire na."
Upang maiwasan ang sitwasyong ito, maaari mong suriin ang mga pirma ng package sa iyong sarili upang makita kung ang mga ito ay wasto, kung sila ay nag-expire na, o kahit na sila ay walang pirma.
Paano Suriin ang Status ng Package Signature sa Mac OS X gamit ang pkgutil
Ang mahusay na pkgutil command line utility ay madaling matukoy ang status ng anumang package signature at certificate. Madali itong gamitin, kaya ilunsad ang Terminal app mula sa /Applications/Utilities/ at subukan ito mismo.
Ang pangunahing syntax na gagamitin para sa pagsuri ng status ng lagda ng package ay ganito:
pkgutil --check-signature /Path/to/Example.pkg
Pindutin ang return at malalaman mo kung valid ang signature, kung nag-expire na ang signature, o kung wala talagang signature.
Halimbawa, sabihin nating mayroon kaming Mac OS X Combo Update software installer package, isang karaniwang senaryo para sa mga sysadmin na nag-a-update ng maraming Mac, maaari mong tingnan ang status ng signature ng package na iyon tulad nito:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Package OSXUpdateCombo10.10.2.pkg: Status: nilagdaan ng isang certificate na nag-expire na "
Sa kasong ito, ang lagda para sa package ng pag-update ay nag-expire na, ibig sabihin, magkakaroon ito ng error kung sinubukang gamitin.
Hindi lahat ng mga installer ng package ay may mga lagda gayunpaman, at habang ang anumang file ng pag-update ng software mula sa Apple ay magkakaroon, ang mga pakete mula sa mga third party ay kadalasang wala.Halimbawa, ang halimbawang package installer file na ito ay walang pirma, at dapat tratuhin nang naaangkop (ibig sabihin, kung hindi mo pinagkakatiwalaan ang pinagmulan, marahil ay muling isaalang-alang ang paggamit nito).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Package MysterySketchyInstaller-21.pkg: Status: walang pirma "
Kung ang isang package file ay kahina-hinala, maaari mong i-verify ang code signature at i-extract ang package nang hindi ito ini-install gamit ang pkgutil upang bigyan ito ng karagdagang inspeksyon, o kung mas gusto mong gamitin ang GUI pagkatapos ay isang app tulad ng Pacifist nag-aalok ng mga katulad na tool sa pamamahala ng package sa isang mas magiliw na interface, kahit na ito ay nasa advanced na bahagi pa rin ng mga bagay.
Tulad ng lahat ng mahusay na tool sa command line, maaari ka ring magpakain ng mga pkgutil wildcard upang madaling suriin ang maramihang mga pakete nang sabay-sabay, sa halimbawang ito titingnan namin ang lagda ng bawat .pkg file na nasa loob ng ~/ Mga Download:
pkgutil --check-signature ~/Downloads/.pkg Package irssi-0.8.17-0.pkg: Status: walang pirma "
"Package wget-4.8.22-0.pkg: Status: walang pirma"
"Package ComboUpdateOSXElCapitan.pkg: Status: nilagdaan ng certificate na nag-expire na"
"Package InstallOSXSequoiaBeta.pkg: Status: valid"
"Package HRFDeveloperTools.pkg: Status: valid"
Wildcards ay gagawa ng mabilis na pag-check sa status ng certificate ng maraming iba't ibang mga file ng package, tiyaking tukuyin mo ang .pkg para makumpleto ang proseso nang hindi humihinto sa isang file na hindi kinikilalang package.