Tjek pakker for udløbne certifikater i Mac OS X
Indholdsfortegnelse:
Mange Mac-brugere vil downloade pakkefiler med kombinationsopdateringer eller anden software for at installere dem på flere computere og derved undgå at opdatere med Mac App Store. Dette er især almindeligt hos Mac-systemadministratorer, hvor det giver mere mening at downloade en enkelt pakkeopdatering eller installationsprogram én gang og distribuere den over et netværk eller måske installere manuelt via et USB-drev.Der er overhovedet ikke noget g alt med denne tilgang, og faktisk er den meget mere effektiv til multi-Mac-administration, men et potentielt problem opstår, når et pakkeinstallationsprogram eller en opdateringsfil har et udløbet certifikat, som forhindrer pakken i at installere helt, en situation, der bliver indlysende, når du får en "(applikationsinstallationsprogram) blev underskrevet med et certifikat, der er udløbet" fejlmeddelelse.
For at undgå denne situation kan du selv tjekke pakkesignaturer for at se, om de er gyldige, om de er udløbet, eller om de slet ikke har nogen signatur.
Sådan kontrolleres pakkesignaturstatus i Mac OS X med pkgutil
Det fremragende kommandolinjeværktøj pkgutil kan nemt bestemme status for enhver pakkesignatur og -certifikat. Det er nemt at bruge, så start Terminal-appen fra /Applications/Utilities/ og prøv det selv.
Den grundlæggende syntaks, der skal bruges til at kontrollere en pakkesignaturstatus, er sådan:
pkgutil --check-signatur /Path/to/Example.pkg
Tryk på retur, og du vil finde ud af, om signaturen er gyldig, om signaturen er udløbet, eller om der slet ikke er nogen signatur.
Lad os f.eks. sige, at vi har en Mac OS X Combo Update-softwareinstallationspakke, et almindeligt scenarie for systemadministratorer, der opdaterer flere Mac'er. Du kan tjekke status for pakkens signatur som sådan:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Pakke OSXUpdateCombo10.10.2.pkg: Status: underskrevet af et certifikat, der siden er udløbet "
I dette tilfælde er signaturen for opdateringspakken udløbet, hvilket betyder, at den vil give en fejl, hvis brug forsøges.
Ikke alle pakkeinstallationsprogrammer har dog signaturer, og selvom enhver softwareopdateringsfil fra Apple vil, har pakker fra tredjeparter det ofte ikke.For eksempel har denne eksempelpakkeinstallationsfil ingen signatur og bør behandles korrekt (dvs. hvis du ikke har tillid til kilden, kan du måske genoverveje at bruge den).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Pakke MysterySketchyInstaller-21.pkg: Status: ingen signatur "
Hvis en pakkefil er tvivlsom, kan du verificere 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, så en app som Pacifist tilbyder lignende pakkehåndteringsværktøjer i en mere brugervenlig grænseflade, selvom det stadig er på den avancerede side af tingene.
Som alle gode kommandolinjeværktøjer kan du endda fodre pkgutil-jokertegn for nemt at kontrollere flere pakker på samme tid. I dette eksempel tjekker vi signaturen af hver .pkg-fil indeholdt i ~/ Downloads:
pkgutil --check-signature ~/Downloads/.pkg Pakke irssi-0.8.17-0.pkg: Status: ingen signatur "
"Package wget-4.8.22-0.pkg: Status: ingen signatur"
"Package ComboUpdateOSXElCapitan.pkg: Status: underskrevet af et certifikat, der siden er udløbet"
"Package InstallOSXSequoiaBeta.pkg: Status: valid"
"Package HRFDeveloperTools.pkg: Status: valid"
…