Controleer pakketten op verlopen certificaten in Mac OS X
Inhoudsopgave:
Veel Mac-gebruikers zullen pakketbestanden van combo-updates of andere software downloaden om ze op meerdere computers te installeren, waardoor updaten via de Mac App Store wordt vermeden. Dit komt met name veel voor bij Mac-systeembeheerders, waar het logischer is om één pakketupdate of installatieprogramma een keer te downloaden en over een netwerk te distribueren of misschien handmatig te installeren via een USB-station.Er is helemaal niets mis met deze aanpak, en in feite is het veel efficiënter voor het beheer van meerdere Macs, maar een mogelijke hapering doet zich voor wanneer een pakketinstallatieprogramma of een updatebestand een verlopen certificaat heeft, waardoor het pakket niet volledig kan worden geïnstalleerd, een situatie die duidelijk wordt wanneer u het foutbericht '(toepassingsinstallatieprogramma) is ondertekend met een certificaat dat is verlopen' krijgt.
Om deze situatie te voorkomen, kunt u zelf de handtekeningen van pakketten controleren om te zien of ze geldig zijn, of ze verlopen zijn of zelfs helemaal geen handtekening hebben.
De status van pakkethandtekeningen controleren in Mac OS X met pkgutil
Het uitstekende opdrachtregelhulpprogramma pkgutil kan eenvoudig de status van elke pakkethandtekening en elk certificaat bepalen. Het is gemakkelijk te gebruiken, dus start de Terminal-app vanuit /Applications/Utilities/ en probeer het zelf uit.
De basissyntaxis die moet worden gebruikt voor het controleren van de status van een pakkethandtekening is als volgt:
pkgutil --check-signature /Path/to/Example.pkg
Klik op enter en je zult zien of de handtekening geldig is, of de handtekening is verlopen of dat er helemaal geen handtekening is.
Stel dat we bijvoorbeeld een Mac OS X Combo Update-software-installatiepakket hebben, een veelvoorkomend scenario voor systeembeheerders die meerdere Macs updaten, je zou de status van de handtekening van dat pakket als volgt kunnen controleren:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Pakket OSXUpdateCombo10.10.2.pkg: Status: ondertekend door een certificaat dat inmiddels is verlopen "
In dit geval is de handtekening voor het updatepakket verlopen, wat betekent dat er een fout wordt gegenereerd als wordt geprobeerd het te gebruiken.
Niet alle installatieprogramma's van pakketten hebben echter een handtekening, en hoewel elk software-updatebestand van Apple dat wel heeft, hebben pakketten van derden dat vaak niet.Dit installatiebestand van dit voorbeeldpakket heeft bijvoorbeeld geen handtekening en moet op de juiste manier worden behandeld (d.w.z. als u de bron niet vertrouwt, overweeg dan om het te gebruiken).
"pkgutil --check-signature ~/Downloads/MysterySketchyInstaller-21.pkg Pakket MysterySketchyInstaller-21.pkg: Status: geen handtekening "
Als een pakketbestand dubieus is, kunt u de codehandtekening verifiëren en het pakket uitpakken zonder het te installeren met pkgutil om het verder te inspecteren, of als u liever de GUI gebruikt, dan een app zoals Pacifist biedt vergelijkbare pakketbeheertools in een vriendelijkere interface, zelfs als het nog steeds aan de geavanceerde kant is.
Zoals alle goede opdrachtregelprogramma's, kunt u zelfs pkgutil-jokertekens invoeren om eenvoudig meerdere pakketten tegelijk te controleren. In dit voorbeeld controleren we de handtekening van elk .pkg-bestand in ~/ Downloads:
pkgutil --check-signature ~/Downloads/.pkg Pakket irssi-0.8.17-0.pkg: Status: geen handtekening "
"Pakket wget-4.8.22-0.pkg: Status: geen handtekening"
"Package ComboUpdateOSXElCapitan.pkg: Status: ondertekend door een certificaat dat inmiddels is verlopen"
"Pakket InstallOSXSequoiaBeta.pkg: Status: geldig"
"Pakket HRFDeveloperTools.pkg: Status: geldig"
Wildcards maken het snel controleren van de certificaatstatus van veel verschillende pakketbestanden mogelijk. Zorg er wel voor dat u .pkg opgeeft om het proces te voltooien zonder te stoppen bij een bestand dat geen herkend pakket is.