Kontrollera paket för utgångna certifikat i Mac OS X
Innehållsförteckning:
Många Mac-användare kommer att ladda ner paketfiler med kombinationsuppdateringar eller annan programvara för att installera dem på flera datorer, och därmed undvika uppdateringar med Mac App Store. Detta är särskilt vanligt med Mac-systemadministratörer, där det är mer meningsfullt att ladda ner en enda paketuppdatering eller installationsprogram en gång och distribuera den över ett nätverk eller kanske installera manuellt via en USB-enhet.Det är inget fel med det här tillvägagångssättet alls, och i själva verket är det mycket effektivare för multi-Mac-hantering, men en potentiell hicka uppstår när en paketinstallations- eller uppdateringsfil har ett utgånget certifikat, vilket kommer att förhindra att paketet installeras helt, en situation som blir uppenbar när du får ett "(applikationsinstallationsprogram) signerades med ett certifikat som har löpt ut" felmeddelande.
För att undvika denna situation kan du själv kontrollera paketsignaturer för att se om de är giltiga, om de har gått ut eller till och med om de inte har någon signatur alls.
Hur kontrollerar man paketsignaturstatus i Mac OS X med pkgutil
Det utmärkta kommandoradsverktyget pkgutil kan enkelt fastställa statusen för alla paketsignaturer och certifikat. Det är lätt att använda, så starta Terminal-appen från /Applications/Utilities/ och prova det själv.
Den grundläggande syntaxen att använda för att kontrollera en paketsignaturstatus är så här:
pkgutil --check-signatur /Path/to/Example.pkg
Tryck på retur så får du reda på om signaturen är giltig, om signaturen har gått ut eller om det inte finns någon signatur alls.
Till exempel, låt oss säga att vi har ett Mac OS X Combo Update-programvaruinstallationspaket, ett vanligt scenario för systemadministratörer som uppdaterar flera Mac-datorer. Du kan kontrollera statusen för paketets signatur så här:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Paket OSXUpdateCombo10.10.2.pkg: Status: undertecknat av ett certifikat som sedan dess har gått ut "
I det här fallet har signaturen för uppdateringspaketet upphört att gälla, vilket innebär att det kommer att ge ett felmeddelande om användningsförsök görs.
Alla paketinstallatörer har dock inte signaturer, och även om alla programuppdateringsfiler från Apple har det, har paket från tredje part ofta inte det.Till exempel har denna exempelpaketinstallationsfil ingen signatur och bör behandlas på lämpligt sätt (dvs. om du inte litar på källan, kanske ompröva att använda den).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Paket MysterySketchyInstaller-21.pkg: Status: ingen signatur "
Om en paketfil är tveksam kan du verifiera kodsignaturen och extrahera paketet utan att installera det med pkgutil för att ge det en ytterligare inspektion, eller om du föredrar att använda GUI så en app som Pacifist erbjuder liknande pakethanteringsverktyg i ett vänligare gränssnitt, även om det fortfarande är på den avancerade sidan.
… Nedladdningar:
pkgutil --check-signature ~/Nedladdningar/.pkg Paket irssi-0.8.17-0.pkg: Status: ingen signatur "
"Package wget-4.8.22-0.pkg: Status: ingen signatur"
"Package ComboUpdateOSXElCapitan.pkg: Status: undertecknat av ett certifikat som sedan dess har gått ut"
"Package InstallOSXSequoiaBeta.pkg: Status: valid"
"Package HRFDeveloperTools.pkg: Status: giltig"
Jokertecken gör det snabbt att kontrollera certifikatstatus för många olika paketfiler, se bara till att du anger .pkg för att processen ska slutföras utan att stoppa på en fil som inte är ett igenkänt paket.