Come rimuovo molte root di sistema dal portachiavi di sistema di Apple?


14

L'applicazione portachiavi di Apple non ti consentirà di rimuovere i root di sistema, ti consentirà solo di disabilitarli. Ti consentirà di disabilitarli solo uno alla volta. Per ognuno, è necessario passare attraverso 3 pannelli dell'interfaccia utente e digitare la password. C'è un modo per automatizzare questo o farlo tutto in una volta? Non mi piace l'attuale selezione di Apple delle radici del sistema.


Non posso darti una risposta / soluzione, ma posso suggerirti di ripensarci. Cosa speri di realizzare / Qual è il tuo obiettivo? Quali sono i vantaggi di farlo? Quali sono gli svantaggi di farlo? Se si tratta solo di voler ripulire il portachiavi, lo dimenticherei. La modifica di QUALSIASI COSA relativa al "sistema" può causare problemi e generalmente non è consigliata. È una di quelle situazioni "se non è rotto, non aggiustarlo".
modelamac,

5
Il mio obiettivo è rimuovere le radici attendibili da organizzazioni di cui non mi fido. Non mi fido del governo cinese. Non mi fido dei certificati compromessi dei Paesi Bassi. Non mi fido dei certificati di un sacco di altre organizzazioni. Non li voglio. Perché dovrei fidarmi di tutte quelle organizzazioni? Io non.
vy32,

3
Sto cercando di trovare / sviluppare un buon elenco di certificati di cui non fidarsi, e i loro hash, che sarebbero utili per diffidare di loro. Mi sembra una buona idea diffidare di quelli che non si vedono regolarmente al di fuori di nicchie specializzate. Forse netcraft ha un elenco di CA ampiamente utilizzate sviluppate tramite il loro sondaggio per determinare quali sono ampiamente utilizzate. Scommetto che con circa una dozzina di CA, avrei i migliori 500 siti e tutti i siti che visito regolarmente coperti. vy32, sono curioso di sapere se hai la tua lista di certificati di cui hai deciso di non fidarti e perché li hai selezionati. Puoi condividere? Inoltre,
MrE

Come scopri quale certificato appartiene a quale applicazione?
Ruskes,

I certificati non appartengono alle applicazioni. Appartengono al sistema.
vy32,

Risposte:


13

Portachiavi di backup prima di provare qualsiasi cosa.

Elenco dei certificati radice:

sudo security dump-keychain /System/Library/Keychains/SystemRootCertificates.keychain

Basta cercare in un dump un nome o i valori hash SHA-1 dei certificati che si desidera eliminare e annotarli.

Ora puoi eliminare i certificati di root usando il security delete-certificatecomando.

Utilizzo: delete-certificate [-c name] [-Z hash] [-t] [keychain ...]

-c  Specify certificate to delete by its common name
-Z  Specify certificate to delete by its SHA-1 hash value
-t  Also delete user trust settings for this certificate The certificate to be deleted must be uniquely specified either by a

stringa trovata nel suo nome comune o dal suo hash SHA-1. Se non viene specificato alcun portachiavi per la ricerca, viene utilizzato l'elenco di ricerca predefinito.

Ad esempio, puoi eliminare i certificati radice cinesi usando questo comando:

sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain

3
Quando l'elenco dei certificati radice viene scaricato sotto quale attributo trovo il valore hash SHA-1?
BrightIntelDusk

1
@BrightIntelDusk è possibile utilizzare il seguente comando:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter

1

Grazie! Ha funzionato per me con l'opzione -c. Trova il nome del certificato radice in Keychain.app, quindi sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain Se mantieni Keychain.app aperto con quel certificato in vista, noti che viene immediatamente eliminato quando si esegue il comando nel terminale.


0

La sfiducia nei confronti di una radice con il certificato di eliminazione da parte dell'hash viene interrotta: sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainciò non riesce sempre con: “security: SecKeychainItemDelete: UNIX [Operazione non consentita]” anche se è presente questo certificato di riferimento.

Ecco una soluzione alternativa da un discorso a DEFCON24.

Invece salva il certificato di root come file cer e usa: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer


0
  1. Apri l'app Accesso portachiavi (/ Applicazioni / Utilità / Keychain Access.app)
  2. Seleziona Root di sistema nei portachiavi
  3. Seleziona certificati nella categoria
  4. Cerca il nome del certificato scaduto
  5. Fai clic con il tasto destro sul certificato, quindi seleziona "Elimina"
  6. Immettere la password dell'amministratore di sistema

Questo non funziona più da el capitan a causa della protezione dell'integrità del sistema. Tuttavia puoi scegliere di non fidarti.
Antzi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.