Wie entferne ich viele Systemstämme aus dem Apple System Keychain?

14

Mit der Apple-Schlüsselbundanwendung können Sie keine Systemstämme entfernen, sondern nur deaktivieren. Sie können sie nur einzeln deaktivieren. Für jede müssen Sie 3 Benutzeroberflächen durchgehen und Ihr Kennwort eingeben. Gibt es eine Möglichkeit, dies zu automatisieren oder alles auf einmal zu erledigen? Ich mag Apples aktuelle Auswahl an Systemstämmen nicht.

vy32
quelle
Ich kann Ihnen keine Antwort / Lösung geben, aber ich kann Ihnen vorschlagen, dies zu überdenken. Was hoffen Sie zu erreichen / Was ist Ihr Ziel? Was sind die Vorteile davon? Was sind die Nachteile davon? Wenn es nur darum geht, Keychain aufzuräumen, würde ich es vergessen. Das Ändern von ALLEM, was mit "System" zu tun hat, kann zu Problemen führen und wird im Allgemeinen nicht empfohlen. Es ist eine dieser Situationen "Wenn es nicht kaputt ist, repariere es nicht".
Modelamac
5
Mein Ziel ist es, vertrauenswürdige Wurzeln von Organisationen zu entfernen, denen ich nicht vertraue. Ich vertraue der Regierung Chinas nicht. Ich vertraue den kompromittierten Zertifikaten aus den Niederlanden nicht. Ich vertraue keinen Zertifikaten einer ganzen Reihe anderer Organisationen. Ich will sie nicht. Warum sollte ich all diesen Organisationen vertrauen? Ich nicht.
10.
3
Ich suche nach einer guten Liste von nicht vertrauenswürdigen Zertifikaten und deren Hashes, die für das Misstrauen hilfreich sind. Scheint mir eine gute Idee zu sein, denen zu misstrauen, die man nicht regelmäßig außerhalb spezialisierter Nischen sieht. Vielleicht hat netcraft eine Liste von weit verbreiteten Zertifizierungsstellen, die im Rahmen ihrer Umfrage entwickelt wurden, um festzustellen, welche weit verbreitet sind. Ich wette, dass ich mit rund einem Dutzend Zertifizierungsstellen die Top 500-Websites und alle Websites, die ich besuche, regelmäßig abdecken würde. vy32, ich bin gespannt, ob Sie eine Liste von Zertifikaten haben, denen Sie nicht vertrauen, und warum Sie sie ausgewählt haben. Kannst du teilen? Also,
MrE
Wie finden Sie heraus, welches Zertifikat zu welchem ​​Antrag gehört?
Ruskes
Zertifikate gehören nicht zu Anwendungen. Sie gehören zum System.
Vy32

Antworten:

13

Sichern Sie den Schlüsselbund, bevor Sie etwas ausprobieren.

Auflisten von Stammzertifikaten:

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

Suchen Sie einfach in einem Speicherauszug nach Namen oder SHA-1-Hashwerten von Zertifikaten, die Sie entfernen möchten, und notieren Sie sie.

Jetzt können Sie diese Stammzertifikate mit dem security delete-certificateBefehl löschen .

Verwendung: 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

Zeichenfolge, die im allgemeinen Namen oder im SHA-1-Hash gefunden wird. Wenn für die Suche keine Schlüsselbunde angegeben wurden, wird die Standardsuchliste verwendet.

Mit diesem Befehl können Sie beispielsweise chinesische Stammzertifikate löschen:

sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain
Alex Bolotov
quelle
3
Wenn die Liste der Stammzertifikate unter welchem ​​Attribut gespeichert wird, finde ich den SHA-1-Hashwert?
BrightIntelDusk
1
@BrightIntelDusk können Sie den folgenden Befehl verwenden:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter
1

Danke! Arbeitete für mich mit der Option -c. Suchen Sie den Namen des Stammzertifikats in Keychain.app. sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain Wenn Sie Keychain.app geöffnet lassen, während dieses Zertifikat angezeigt wird, wird es sofort gelöscht, wenn Sie den Befehl im Terminal ausführen.

Bolle
quelle
0

Das Misstrauen gegenüber einem Root mit sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainLöschzertifikat durch Hash ist gebrochen: Dies schlägt immer fehl mit: "security: SecKeychainItemDelete: UNIX [Operation nicht erlaubt]", auch wenn dieses referenzierte Zertifikat vorhanden ist.

Hier ist eine Problemumgehung aus einem Vortrag bei DEFCON24.

Speichern Sie stattdessen das Stammzertifikat als Cer-Datei und verwenden Sie: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer

cl0kd
quelle
0
  1. Öffnen Sie die Keychain Access-App (/ Programme / Dienstprogramme / Keychain Access.app).
  2. Wählen Sie System Roots in keychains aus
  3. Wählen Sie Zertifikate in der Kategorie
  4. Suchen Sie nach dem Namen des abgelaufenen Zertifikats
  5. Klicken Sie mit der rechten Maustaste auf das Zertifikat und wählen Sie "Löschen".
  6. Geben Sie das Kennwort des Systemadministrators ein
P Anandhakumar
quelle
Dies funktioniert seit el capitan aufgrund des Schutzes der Systemintegrität nicht mehr. Sie können jedoch entscheiden, nicht zu vertrauen.
Antzi