Tjek pakker for udløbet certifikater i Mac OS X

Mange Mac-brugere vil downloade pakkefiler med kombinationsopdateringer eller anden software for at installere dem på flere computere og derved undgå opdatering med Mac App Store. Dette er især tilfældet med Mac-systemadministratorer, hvor det er mere fornuftigt at downloade en enkelt pakkeopdatering eller -installatør en gang og distribuere den over et netværk eller måske installere manuelt via et USB-drev. Der er slet ikke noget galt med denne tilgang, og det er faktisk meget mere effektivt til multi-Mac-styring, men der kommer en potentiel hiccup, når en pakkeinstallations- eller opdateringsfil har et udløbs certifikat, hvilket forhindrer pakken i at installere helt, en situation, der bliver tydelig, når du får en "(applikationsinstallatør) blev underskrevet med et certifikat, der er udløbet" fejlmeddelelse.

For at undgå denne situation kan du selv kontrollere pakkedesignaturer for at se om de er gyldige, hvis de er udløbet, eller selvom de slet ikke har nogen signatur.

Sådan kontrolleres pakke signaturstatus i Mac OS X med pkgutil

Den fremragende pkgutil kommandolinjeværktøj kan nemt bestemme status for enhver pakke signatur og certifikat. Det er nemt at bruge, så start Terminal app fra / Applications / Utilities / og prøv det selv.

Den grundlæggende syntaks, der skal bruges til at kontrollere en pakke signaturstatus, er som sådan:

pkgutil --check-signature /Path/to/Example.pkg

Hit retur og du vil finde ud af, om signaturen er gyldig, hvis signaturen er udløbet, eller hvis der slet ikke er nogen underskrift.

Lad os f.eks. Sige, at vi har en Mac OS X Combo Update-softwareinstallationspakke, et fælles scenario for sysadminer, der ajourfører flere Mac'er. Du kan kontrollere status for denne pakke underskrift som sådan:

pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg
Package "OSXUpdateCombo10.10.2.pkg":
Status: signed by a certificate that has since expired

I dette tilfælde er signaturen for opdateringspakken udløbet, hvilket betyder at det vil smide en fejl, hvis brugen forsøges.

Ikke alle pakkeinstallatører har signaturer, og mens nogen softwareopdateringsfil fra Apple vil, vil pakker fra tredjepart ofte ikke. F.eks. Har denne installationspakke til denne pakke ingen signatur, og den skal behandles hensigtsmæssigt (dvs. hvis du ikke har tillid til kilden, måske genoverveje at bruge den).

pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg
Package "MysterySketchyInstaller-21.pkg":
Status: no signature

Hvis en pakkefil er tvivlsom, kan du bekræfte kodesignaturen og udpakke pakken uden at installere den med pkgutil for at give den en yderligere inspektion, eller hvis du foretrækker at bruge GUI'en, kan en app som Pacifist tilbyde lignende pakkehåndteringsværktøjer i en venligere interface, selv om det stadig er på den avancerede side af tingene.

Ligesom alle gode kommandolinjeværktøjer kan du endda føje pkgutil jokertegn for nemt at kontrollere flere pakker på samme tid. I dette eksempel undersøger vi signaturen for alle * .pkg-filer indeholdt i ~ / Downloads:

pkgutil --check-signature ~/Downloads/*.pkg
Package "irssi-0.8.17-0.pkg":
Status: no signature

Pakke "wget-4.8.22-0.pkg":
Status: Ingen underskrift

Pakke "ComboUpdateOSXElCapitan.pkg":
Status: underskrevet af et certifikat, der siden er udløbet

Pakke "InstallOSXSequoiaBeta.pkg":
Status: gyldig

Pakke "HRFDeveloperTools.pkg":
Status: gyldig

Vildkort vil gøre hurtig arbejde med at kontrollere certifikatstatus for mange forskellige pakkefiler, bare sørg for at du angiver * .pkg for processen at fuldføre uden at stoppe på en fil, der ikke er en anerkendt pakke.