Jak usunąć wiele korzeni systemu z pęku kluczy Apple System?


14

Aplikacja pęku kluczy Apple nie pozwoli Ci usunąć korzeni systemu, a jedynie pozwoli ci je wyłączyć. Umożliwi to wyłączenie ich pojedynczo. Dla każdego z nich musisz przejść przez 3 panele interfejsu użytkownika i wpisać hasło. Czy istnieje sposób, aby to zautomatyzować lub zrobić to naraz? Nie podoba mi się obecny wybór korzeni systemu przez Apple.


Nie mogę dać ci odpowiedzi / rozwiązania, ale mogę zasugerować, żebyś to przemyślał. Co masz nadzieję osiągnąć? Jaki jest twój cel? Jakie są zalety tego? Jakie są wady robienia tego? Jeśli to tylko kwestia chęci wyczyszczenia pęku kluczy, zapomnę o tym. Zmiana WSZYSTKIEGO zajmowania się „systemem” może prowadzić do problemów i zasadniczo nie jest zalecana. Jest to jedna z tych sytuacji „jeśli się nie zepsuło, nie naprawiaj”.
modelamac,

5
Moim celem jest usunięcie zaufanych korzeni z organizacji, którym nie ufam. Nie ufam rządowi Chin. Nie ufam skompromitowanym certyfikatom z Holandii. Nie ufam certyfikatom z całej gamy innych organizacji. Nie chcę ich. Dlaczego mam ufać wszystkim tym organizacjom? Ja nie.
vy32

3
Chcę znaleźć / opracować dobrą listę certyfikatów, którym nie można ufać, oraz ich skróty, które byłyby przydatne, aby im nie ufać. Wydaje mi się, że dobrym pomysłem jest nieufność tym, których nie widuje się regularnie poza wyspecjalizowanymi niszami. Być może Netcraft opracował listę najczęściej używanych urzędów certyfikacji opracowaną w drodze ankiety w celu ustalenia, które są szeroko stosowane. Założę się, że mając około tuzina urzędów certyfikacji, miałbym 500 najlepszych stron i wszystkie strony, które regularnie odwiedzam. vy32, jestem ciekawy, czy masz swoją listę certyfikatów, którym nie ufałeś i dlaczego je wybrałeś. Możesz udostępnic? Również
MrE

Jak dowiedzieć się, który certyfikat należy do której aplikacji?
Ruskes

Certyfikaty nie należą do aplikacji. Należą do systemu.
vy32

Odpowiedzi:


13

Utwórz kopię zapasową pęku kluczy przed próbą czegokolwiek.

Wyświetlanie certyfikatów głównych:

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

Wystarczy spojrzeć na zrzut nazw lub wartości skrótu SHA-1 certyfikatów, których chcesz się pozbyć, i zapisać je.

Teraz możesz usunąć te certyfikaty główne za pomocą security delete-certificatepolecenia.

Użycie: 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

ciąg znaleziony we wspólnej nazwie lub przez skrót SHA-1. Jeśli nie określono żadnych pęków kluczy do wyszukiwania, używana jest domyślna lista wyszukiwania.

Na przykład możesz usunąć chińskie certyfikaty główne za pomocą tego polecenia:

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

3
Kiedy lista certyfikatów głównych jest zrzucana pod jakim atrybutem, znajduję wartość skrótu SHA-1?
BrightIntelDusk

1
@BrightIntelDusk możesz użyć następującego polecenia:sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
lifeofguenter

1

Dziękuję Ci! Pracował dla mnie z opcją -c. Znajdź nazwę certyfikatu głównego w Keychain.app, a następnie, sudo security delete -c "CERTNAME" /System/Library/Keychains/SystemRootCertificates.keychain jeśli Keychain.app jest otwarty z tym certyfikatem, zauważysz, że jest on natychmiast usuwany podczas wykonywania polecenia w terminalu.


0

Nieufność do roota z usunięciem certyfikatu według skrótu jest zerwana: sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychainzawsze kończy się to niepowodzeniem: „security: SecKeychainItemDelete: UNIX [Operacja niedozwolona]”, nawet jeśli ten odnośny certyfikat jest obecny.

Oto obejście z rozmowy w DEFCON24.

Zamiast tego zapisz certyfikat główny jako plik cer i użyj: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer


0
  1. Otwórz aplikację Dostęp do pęku kluczy (/ Aplikacje / Narzędzia / Keychain Access.app)
  2. Wybierz System Roots w pęku kluczy
  3. Wybierz Certyfikaty w kategorii
  4. Wyszukaj nazwę wygasłego certyfikatu
  5. Kliknij certyfikat prawym przyciskiem myszy, a następnie wybierz „Usuń”
  6. Wprowadź hasło administratora systemu

To już nie działa, ponieważ el capitan ze względu na ochronę integralności systemu. Możesz jednak nie ufać.
Antzi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.