Controlla i pacchetti per i certificati scaduti in Mac OS X
Sommario:
Molti utenti Mac scaricheranno i file dei pacchetti di aggiornamenti combinati o altri software per installarli su più computer, evitando così l'aggiornamento con il Mac App Store. Ciò è particolarmente comune con gli amministratori di sistemi Mac, dove ha più senso scaricare un singolo pacchetto di aggiornamento o programma di installazione una volta e distribuirlo su una rete o forse installarlo manualmente tramite un'unità USB.Non c'è niente di sbagliato in questo approccio, e in effetti è molto più efficiente per la gestione multi-Mac, ma un potenziale intoppo arriva quando un programma di installazione di pacchetti o un file di aggiornamento ha un certificato scaduto, che impedirà l'installazione completa del pacchetto, un situazione che diventa ovvia quando ricevi un messaggio di errore "(il programma di installazione dell'applicazione) è stato firmato con un certificato scaduto".
Per evitare questa situazione, puoi controllare tu stesso le firme dei pacchetti per vedere se sono valide, se sono scadute o anche se non hanno alcuna firma.
Come controllare lo stato della firma del pacchetto in Mac OS X con pkgutil
L'eccellente utility a riga di comando pkgutil può facilmente determinare lo stato di qualsiasi firma e certificato di un pacchetto. È facile da usare, quindi avvia l'app Terminale da /Applicazioni/Utility/ e provalo tu stesso.
La sintassi di base da usare per controllare lo stato della firma di un pacchetto è così:
pkgutil --check-signature /Path/to/Example.pkg
Premi Invio e scoprirai se la firma è valida, se è scaduta o se non c'è nessuna firma.
Ad esempio, supponiamo di avere un pacchetto di installazione del software Mac OS X Combo Update, uno scenario comune per gli amministratori di sistema che aggiornano più Mac, puoi controllare lo stato della firma di quel pacchetto in questo modo:
"pkgutil --check-signature ~/Downloads/OSXUpdateCombo10.10.2.pkg Pacchetto OSXUpdateCombo10.10.2.pkg: Stato: firmato da un certificato scaduto da allora "
In questo caso, la firma per il pacchetto di aggiornamento è scaduta, il che significa che genererà un errore se si tenta di utilizzarla.
Tuttavia, non tutti i programmi di installazione dei pacchetti dispongono di firme e, sebbene qualsiasi file di aggiornamento software di Apple lo abbia, i pacchetti di terze parti spesso non le hanno.Ad esempio, questo file di installazione del pacchetto di esempio non ha una firma e dovrebbe essere trattato in modo appropriato (ad esempio, se non ti fidi della fonte, forse riconsidera di utilizzarla).
"pkgutil --check-signature ~/Download/MysterySketchyInstaller-21.pkg Pacchetto MysterySketchyInstaller-21.pkg: Stato: nessuna firma "
Se un file di pacchetto è dubbio, puoi verificare la firma del codice ed estrarre il pacchetto senza installarlo con pkgutil per dargli un'ulteriore ispezione, o se preferisci usare la GUI allora un'app come Pacifist offre strumenti di gestione dei pacchetti simili in un'interfaccia più amichevole, anche se è ancora sul lato avanzato delle cose.
Come tutti i buoni strumenti a riga di comando, puoi anche inserire i caratteri jolly pkgutil per controllare facilmente più pacchetti contemporaneamente, in questo esempio controlleremo la firma di ogni file .pkg contenuto in ~/ Download:
pkgutil --check-signature ~/Downloads/.pkg Pacchetto irssi-0.8.17-0.pkg: Stato: nessuna firma "
"Pacchetto wget-4.8.22-0.pkg: Stato: nessuna firma"
"Pacchetto ComboUpdateOSXElCapitan.pkg: Stato: firmato da un certificato scaduto nel frattempo"
"Pacchetto InstallOSXSequoiaBeta.pkg: Stato: valido"
"Pacchetto HRFDeveloperTools.pkg: Stato: valido"
I caratteri jolly velocizzeranno il lavoro di controllo dello stato del certificato di molti file di pacchetti diversi, assicurati solo di specificare .pkg affinché il processo venga completato senza fermarsi su un file che non è un pacchetto riconosciuto.